A curious case of O(N^2) behavior which should be O(N) (2023)

The author recently became fascinated with Blender 3D after discovering Tellusim and its impressive rendering quality. Through examining Blender’s slow USD scene import speed, the author delves into the profiling process, uncovering inefficiencies in id_sort_by_name that lead to performance issues with shared object names. Their solution involves modifying the naming methods to avoid O(N^2) processes, resulting in significant import time reductions. Despite improvements, other bottlenecks in the import process are identified, with potential for further optimization. While Blender may not rival Tellusim, ongoing efforts aim to enhance its USD import pipeline.

https://gist.github.com/bssrdf/397900607028bffd0f8d223a7acdce7e

To top