عدّاد المراجع غير الذري لـ shared_ptr في C++: مفاجأة في اختبار الأداء الدقيق
2025-08-31
كشف اختبار أداء دقيق قارن بين هياكل بيانات Rust و C++ عن سلوك غير متوقع في `shared_ptr` في C++. في بيئات الخيط الواحد، يُحسّن GNU libstdc++ عدّاد المراجع في `shared_ptr` ليكون غير ذري إذا لم يتم استيراد `pthread_create`. هذه التحسينات في الأداء، على الرغم من أنها آمنة بشكل عام، إلا أنها قد تؤدي إلى مشاكل في سيناريوهات غير معتادة، مثل عندما يتم تحميل مكتبة مرتبطة ديناميكيًا بواسطة برنامج مرتبط ثابتًا. قام الكاتب بالتحقيق في تنفيذات C++ أخرى (libcxx و Visual C++) وحل أخيرًا التناقض في الأداء من خلال الإشارة إلى `pthread_create` في اختبار الأداء الدقيق الخاص به. يبرز الاكتشاف تعقيدات تحسينات المستوى المنخفض وعواقبها غير المقصودة المحتملة.
اقرأ المزيد
التطوير