حالة غريبة من بطء استيراد USD في Blender
واجه مطور مشكلة في بطء استيراد مشاهد USD في برنامج Blender بشكل غير متوقع. أظهر تحليل الأداء أن المشكلة تكمن في دالة الفرز الداخلية لـ IDs في Blender، وهي `id_sort_by_name`. كان من المتوقع أن تكون هذه الدالة ذات تعقيد O(N)، لكنها تدهورت إلى O(N²) بسبب طريقة تسمية الملفات في USD. قام المطور بتعديل اتفاقية التسمية وتحسين خوارزمية الفرز، مما قلل من أوقات الاستيراد من 4 دقائق و40 ثانية إلى 8 ثوانٍ للملفات الأصغر. ومع ذلك، فإن المشكلة الأساسية نابعة من شرط Blender بفرز IDs، مما أدى إلى اقتراحات لاستبدال القائمة المرتبطة بشجرة Trie أو جدول هاش. تبرز هذه العملية تحديًا شائعًا في تحسين الأداء: وهو تحديد ومعالجة التعقيد غير المتوقع.
اقرأ المزيد