Codon ، مترجم بايثون جديد عالي الأداء 

كودون

Codon هو مترجم Python عالي الأداء يقوم بتجميع كود Python إلى كود الجهاز الأصلي.

في الآونة الأخيرة كشف النقاب عن بدء التشغيل Exaloop من خلال تغريدة إصدار كود المشروع كودون ، الذي يطور أ مترجم للغة بايثون والتي يمكن أن تولد رمز آلة خالصًا كإخراج ، غير مرتبط بوقت تشغيل Python.

تم تطوير المترجم من قبل مؤلفي لغة Seq الشبيهة ببايثون ويتم وضعه على أنه استمرار لتطوره. المشروع ايضا يقدم وقت التشغيل الخاص به للملفات القابلة للتنفيذ ومكتبة وظائف تحل محل استدعاءات المكتبة بلغة بايثون.

حول كودون

الأداء من الملفات التنفيذية الإخراج يتم الترويج له على أنه قريب من البرامج المكتوبة بلغة C. مقارنةً باستخدام CPython ، يُقدر مكاسب الأداء عند التحويل البرمجي باستخدام Codon بحوالي 10-100 مرة للتنفيذ ذي الخيوط الواحدة. في الوقت نفسه ، على عكس Python ، تطبق Codon أيضًا إمكانية استخدام تعدد مؤشرات الترابط ، مما يسمح لك بتحقيق زيادة أكبر في الأداء. كودون يسمح لك أيضًا بالتجميع على مستوى الوظيفة لاستخدام العرض المترجم في مشاريع Python الحالية.

كودون تم بناؤه باستخدام بنية معيارية والذي يسمح لك بتوسيع الوظائف من خلال المكونات الإضافية التي يمكنها إضافة مكتبات جديدة ، وتنفيذ تحسينات للمترجم ، وحتى تقديم دعم لبناء جملة إضافي.

على سبيل المثال ، يتم تطوير العديد من المكونات الإضافية بالتوازي لاستخدامها في المعلوماتية الحيوية والرياضيات المالية. يستخدم جامع القمامة Boehm لإدارة الذاكرة.

المترجم يدعم معظم بناء جملة بايثون ، لكن التحويل إلى كود أصلي يفرض عددًا من القيود التي تمنع استخدام Codon كبديل شفاف لـ CPython. على سبيل المثال ، يستخدم Codon نوع int 64 بت للأعداد الصحيحة ، بينما يحتوي CPython على أعداد صحيحة غير محدودة.

قد يتطلب دعم Codon لقواعد التعليمات البرمجية الكبيرة تغييرات في التعليمات البرمجية. عادةً ما يكون سبب عدم التوافق هو عدم تطبيق Codon لبعض وحدات Python وعدم القدرة على استخدام بعض الميزات الديناميكية للغة. لكل من حالات عدم التوافق هذه ، يصدر المترجم رسالة تشخيصية مفصلة مع معلومات حول كيفية إصلاح المشكلة.

تتم كتابة الكود المصدري للمجمع ووقت التشغيل والمكتبة القياسية باستخدام C ++ (باستخدام تطورات LLVM) و Python ، و يتم توزيعها بموجب ترخيص BSL (ترخيص مصدر الأعمال). يكمن جوهر BSL في أن كود الوظيفة الموسعة متاح مبدئيًا للتعديل ، ولكن لبعض الوقت يمكن استخدامه مجانًا فقط وفقًا لشروط إضافية ، والتي تتطلب شراء ترخيص تجاري لتجاوزه.

تتطلب شروط الترخيص الإضافية لمشروع Codon نقل الرمز إلى ترخيص Apache 2.0 بعد 3 سنوات (1 نوفمبر 2025). حتى ذلك الحين ، يسمح الترخيص بالنسخ والتوزيع والتعديل ، طالما يتم استخدامه لأغراض غير تجارية.

كيفية تثبيت Codon على Linux؟

للمهتمين بتثبيت هذا المترجم ، يجب أن يعلموا أنه يمكنهم القيام بذلك بسهولة تامة ، فقط افتح Terminal وقم بتنفيذ الأمر التالي الذي سيقوم بتنزيل وتثبيت البرنامج النصي للتثبيت:

/bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)"

بالنسبة للمهتمين بالقدرة على التجميع بمفردهم ، فيمكنهم القيام بذلك عن طريق تشغيل الأوامر التالية:

git clone --depth 1 -b codon https://github.com/exaloop/llvm-project
cmake -S llvm-project/llvm -B llvm-project/build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_ZLIB=OFF \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_TARGETS_TO_BUILD=all
cmake --build llvm-project/build
cmake --install llvm-project/build

بعد ذلك ، شرعوا في البناء مع:

cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_DIR=$(llvm-config --cmakedir) \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
cmake --build build --config Release

نهائيواترك لك الرابط التالي حيث يمكنك استشارة المزيد حول تفاصيل التجميع وكذلك أين يمكنك العثور على مزيد من المعلومات حول استخدام هذا المترجم (دليل ، أمثلة ، وظائف ، من بين أشياء أخرى).

الرابط هو هذا.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.