ما سرعة تخصيص ذاكرة القمامة في RPython؟

2025-06-15

تقيّم هذه المقالة سرعة تخصيص ذاكرة القمامة (GC) في RPython باستخدام برنامج اختبار صغير من RPython. تُظهر النتائج سرعات تخصيص سريعة بشكل مدهش تتجاوز 34 جيجابايت/ثانية، متفوقة بكثير على Boehm GC. يكشف تحليل التعليمات البرمجية للآلة المُولّدة وعدادات الأداء أن سرعة GC في RPython نابعة من آلية مؤشر الارتطام الفعّالة والحد الأدنى من تكاليف GC. حتى في التعليمات البرمجية العادية لـ Python مع PyPy JIT، تصل سرعات التخصيص إلى 17 جيجابايت/ثانية.

اقرأ المزيد
التطوير

تسريع عرض صورة اقتباس من شكسبير باستخدام أشجار الرباعية وتحليل الفترات

2025-04-09

شارك الكاتب في تحدي بروسبيرو، بهدف عرض صورة سريعًا بحجم 1024 × 1024 لاقتباس من شكسبير من مسرحية العاصفة، تم إنشاؤها بواسطة صيغة رياضية تتضمن 7866 عملية. تم استكشاف تقنيات تحسين مختلفة، بما في ذلك تقسيم الصورة بشكل متكرر باستخدام أشجار الرباعية، وتحليل الفترات لتبسيط الصيغة، وتحسين "المعلومات المطلوبة". تم التنفيذ بلغات RPython وC، وقارن الكاتب أداء استراتيجيات التحسين المختلفة. أدى تحسين "المعلومات المطلوبة" إلى تحسين سرعة العرض بشكل كبير، حيث حقق التنفيذ النهائي بلغة C الذي يدمج هذا التحسين أفضل أداء.

اقرأ المزيد

التحليل الإحصائي للذاكرة منخفض التكاليف في PyPy: دمج VMProf وجمع البيانات المهملة

2025-02-25

تتناول هذه المدونة نهجًا جديدًا لتحليل الذاكرة الإحصائي منخفض التكاليف لـ PyPy. وبدلاً من تسجيل كل عملية تخصيص، يتم أخذ عينات من كل بايت مخصص n-th، ودمج منطق أخذ العينات بذكاء في التحقق من مُخصص مؤشر الاصطدام لجامع القمامة (GC) في PyPy. وهذا يضمن أن المسار السريع يبقى متطابقًا مع وبدون أخذ عينات من الذاكرة، مما يقلل من التكاليف العامة. تُظهر التجارب أداءً جيدًا عبر معدلات أخذ العينات المختلفة، مما يوفر تحكمًا أدق وتكاليف عامة أقل لتحليل الذاكرة.

اقرأ المزيد

محركات JIT التتبعية في PyPy: اختيار عملي؟

2025-01-10

تتناول هذه المقالة مزايا وعيوب مُحركات JIT التتبعية، مع التركيز بشكل خاص على تنفيذها في PyPy. توفر مُحركات JIT التتبعية، التي تُنشئ الاكواد من خلال تتبع تنفيذ البرنامج، مزايا عند التعامل مع لغات معقدة مثل Python، حيث إنها تقطع بفعالية طبقات التجريد وتُقلل من العبء الإضافي. ومع ذلك، فإنها تعاني أيضًا من عدم استقرار الأداء وحالات الحافة. بناءً على خبرة تمتد لعشرين عامًا مع PyPy، يقدم الكاتب تحليلًا دقيقًا لملاءمة مُحركات JIT التتبعية، ويقارنها بمحركات JIT القائمة على الطريقة. ويُشير الاستنتاج إلى أنه في سياق meta-JIT الخاص بـ PyPy وبالنظر إلى قيود الموارد، يظل التتبع نهجًا عمليًا نسبيًا.

اقرأ المزيد