يدعم مترجم Pyston-lite JIT الآن Python 3.10

يتوفر إصدار جديد من امتداد Pyston-lite ، مع تطبيق مترجم JIT لـ CPython. على عكس مشروع Pyston ، الذي تم تطويره بشكل منفصل كشوكة من قاعدة كود CPython ، تم تصميم Pyston-lite كملحق عالمي مصمم للاتصال بمترجم Python القياسي (CPython). يتميز الإصدار الجديد بتقديم الدعم لفروع Python 3.7 و 3.9 و 3.10 ، بالإضافة إلى الفرع 3.8 المدعوم مسبقًا.

يتيح لك Pyston-lite استخدام تقنيات Pyston الأساسية دون تغيير المترجم ، عن طريق تثبيت ملحق إضافي باستخدام PIP أو مدير حزمة Conda. تمت استضافة Pyston-lite بالفعل في مستودعات PyPI و Conda ، وللتثبيت ، ما عليك سوى تشغيل الأمر "pip install pyston_lite_autoload" أو "conda install pyston_lite_autoload -c pyston". يتم اقتراح حزمتين: pyston_lite (JIT مباشرة) و pyston_lite_autoload (يقوم باستبدال JIT تلقائيًا عند بدء عملية Python). من الممكن أيضًا التحكم برمجيًا في تمكين JIT من داخل التطبيق دون تثبيت وحدة التحميل التلقائي ، باستخدام وظيفة pyston_lite.enable ().

بالإضافة إلى ذلك ، أعلن المطورون أنهم يفكرون الآن في Pyston-lite كمنتج أساسي لهم. يوفر نظام Pyston العادي أداءً أفضل ، ولكن يتم إعاقة استخدامه بسبب الحاجة إلى استبدال المترجم الفوري ، بينما يتم دمج Pyston-lite بسهولة في التكوينات الحالية. سيتم نقل التحسينات المحددة التي كانت موجودة في Pyston إلى CPython الأساسي حيثما أمكن ذلك. على المدى الطويل ، هناك رغبة في نقل تنفيذ مترجم JIT إلى التكوين الرئيسي لـ CPython.

في شكله الحالي ، مقارنةً بـ CPython 3.8 ، يتيح لك استخدام Pyston-lite زيادة الأداء بنسبة 10٪ في نص علامات الفرشاة الكبيرة وبنسبة 28٪ في اختبار Pyperformance. للمقارنة ، فإن مكاسب الأداء عند استخدام Pyston المستقلة هي 28٪ و 65٪ على التوالي.

يتضمن الإصدار القادم من مشروع CPython 3.11 الرئيسي تغييرات تتعلق بالتخزين المؤقت لحالة الرمز الثانوي ، واستدعاءات وظيفية أسرع ، واستخدام مترجمين فوريين سريعين للعمليات المشتركة ، بالإضافة إلى بعض التحسينات التي أعدها مشروعا Cinder و HotPy. نتيجة لذلك ، يُظهر CPython 3.11rc2 في الاختبارات المذكورة أعلاه زيادة في الأداء بنسبة 12٪ و 26٪ ، وهو ما يمكن مقارنته بـ Pyston-lite (يحتوي CPython و Pyston-lite الجديدان على تحسينات مختلفة ، مما يؤدي إلى زيادة Pyston-lite إلى CPython 3.11. تحسين أداء هذا الفرع).

المصدر: opennet.ru

إضافة تعليق