إصدار Nuitka 2.0 ، مترجم للغة بايثون

يتوفر إصدار من مشروع Nuitka 2.0 ، لتطوير مترجم لترجمة نصوص Python إلى تمثيل C ، والذي يمكن بعد ذلك تجميعه في ملف قابل للتنفيذ باستخدام libpython لتحقيق أقصى قدر من التوافق مع CPython (باستخدام أدوات CPython الأصلية لمعالجة الكائنات). تم توفير التوافق الكامل مع الإصدارات الحالية من Python 2.6 و 2.7 و 3.3 - 3.11. مقارنةً بـ CPython ، تُظهر البرامج النصية المجمعة تحسنًا بنسبة 335 ٪ في اختبارات pystone. يتم توزيع كود المشروع بموجب ترخيص Apache.

من بين التغييرات في الإصدار الجديد:

  • تمت إضافة القدرة على استخدام المتغيرات في تكوين الحزمة، مما يسمح لك بالاستعلام عن القيم من الحزم المثبتة في وقت الترجمة واستخدام تلك القيم لتحديد الواجهة الخلفية. يتيح لك دعم المتغيرات في التكوين حل العديد من المهام بالطرق القياسية التي كانت تتطلب سابقًا توصيل المكونات الإضافية.
  • تمت إضافة دعم للمعلمات المحددة من قبل المستخدم للتأثير على تكوين كل حزمة. يمكن قراءة المعلمات باستخدام وظيفة get_parameter الجديدة واستخدامها لتحديد سلوك الوحدات (على سبيل المثال، يمكنك تعيين معلمة لتعطيل Numba JIT أو Torch JIT).
  • تمت إضافة الخيار "--include-onefile-external-data" لتحديد قوالب ملفات البيانات التي تم تعريفها في التكوين ولكن يجب توفيرها بشكل منفصل عن الملف القابل للتنفيذ عند الإنشاء في وضع ملف واحد.
  • تمت إضافة خيار "--cf-protection" لتعيين وضع الحماية CFI (Control Flow Integrity) في دول مجلس التعاون الخليجي، والذي يمنع انتهاكات أمر التنفيذ العادي (تدفق التحكم).
  • بالنسبة لملفات yaml الإضافية، تم تنفيذ القدرة على إنشاء مجاميع اختبارية للتحقق من التكامل، والتي يخططون لاستخدامها في المستقبل لتنظيم التحقق من وقت التشغيل.
  • تسمح الإجراءات بتحديد خيارات متعددة، مفصولة بخطوط (يتم استخدام سطر جديد كمحدد). على سبيل المثال: تضمين البيانات-دير: | أ = قبل الميلاد = د
  • تم إجراء تحليل لأنواع الحلقات، والذي سيتم استخدامه في المستقبل لتنفيذ التحسينات الانتقائية.
  • تمت إضافة تحسينات لتسريع العمل مع المتغيرات غير المشتركة والمتجاوزة.
  • تم توسيع إمكانيات البرنامج المساعد المضاد للانتفاخ، والذي يمكن استخدامه الآن لتقليل عدد الحزم عند استخدام مكتبات Streamlit وtorch وknetworkx وdistributed وskimage وbitsandbytes وtf_keras وpip وnetworkx وpywt (بشكل أساسي، الربط إلى pytest، IPython، الأنف، يتم استبعاد تريتون وdask).

المصدر: opennet.ru

إضافة تعليق