Blender에서 USD 임포트 속도 저하의 특이 사례
개발자가 Blender에서 USD 장면을 임포트할 때 예상치 못한 속도 저하 문제를 발견했습니다. 프로파일링 결과, 병목 현상이 Blender의 내부 ID 정렬 함수인 `id_sort_by_name`에 있음을 알게 되었습니다. 이 함수는 O(N)의 복잡도를 가질 것으로 예상되었지만, USD 파일의 명명 체계 때문에 O(N²)로 저하되었습니다. 명명 규칙을 변경하고 정렬 알고리즘을 최적화함으로써 개발자는 작은 파일의 임포트 시간을 4분 40초에서 8초로 단축했습니다. 하지만 근본적인 문제는 Blender가 정렬된 ID를 필요로 한다는 점이며, 연결 리스트를 트라이 또는 해시 테이블로 대체하는 것이 제안되었습니다. 이 최적화는 성능 튜닝에서 흔히 발생하는 문제, 즉 예상치 못한 복잡성을 식별하고 해결하는 것을 보여줍니다.
더 보기