ماذا PyPy يجب أن نقدم أكثر من CPython, Jython ، IronPython?

StackOverflow https://stackoverflow.com/questions/619437

  •  03-07-2019
  •  | 
  •  

سؤال

من ما شاهدته وقرأت على بلوق ، PyPy هو مشروع طموح جدا.ما هي بعض مزايا هذا سوف يجلب الى طاولة المفاوضات على الأشقاء (CPython, Jython ، IronPython)?هو السرعة ، عبر منصة التوافق (بما في ذلك منصات متحركة) ، والقدرة على استخدام ج-امتداد دون جيل أو أكثر من ممارسة تقنية على ما يمكن القيام به ؟

هل كانت مفيدة؟

المحلول

PyPy هو حقا مشروعين:

  • مترجم مترجم toolchain مما يسمح لك لكتابة المترجمين في RPython (ثابت فرعية من الثعبان) و قد عبر منصة المترجمين جمعت مستقل ، JVM،.صافي (الخ)
  • تطبيق بيثون في RPython

هذين المشروعين تسمح العديد من أشياء.

  • الحفاظ على الثعبان في بيثون هو أسهل بكثير من الحفاظ على ذلك في ج
  • من مصدر برنامج واحد يمكنك توليد الثعبان المترجمين التي تعمل على JVM،.صافي مستقل - بدلا من الاضطرار متعددة قليلا تطبيقات غير متوافقة
  • جزء من المترجم toolchain يتضمن التجريبية JIT مولد (الآن في الخامسة التجسد بدأت تعمل بشكل جيد حقا) ، الهدف هو JITed PyPy لتشغيل كثيرا أسرع من CPython
  • فمن الأسهل بكثير أن التجربة الأساسية ميزات اللغة - مثل إزالة جيل أفضل جمع القمامة ، دمج stackless وهلم جرا

لذلك هناك حقا الكثير من أسباب PyPy أن تكون مثيرة ، و أنها بدأت أخيرا أن ترقى إلى جميع وعودها.

نصائح أخرى

وأهم ميزة هي بالطبع مترجم JIT. في سي بايثون يتم تجميع الملفات إلى بايت كود (.pyc) أو بايت كود الأمثل (.pyo) ومن ثم تفسيرها. مع PyPy سيتم ترجمة التعليمات البرمجية الأصلية. يشمل PyPy أيضا بقع Stackless بيثون ، بما في ذلك انها مثيرة للإعجاب على يتميز (والتسلسل tasklet، المواضيع الخفيفة الخ.)

في حالة أن بيثون يحصل على JIT اعتقد انه سيكون ل تكون سريعة مثل أي تطبيق آخر.

وميزة هي أنه من الأسهل بكثير لتنفيذ الميزات الجديدة. يمكن للمرء أن يرى هذا اليوم من خلال مراقبة المكتبة. غالبا ما يتم كتابة وحدات في بيثون أولا ثم ترجم إلى C.

<اقتباس فقرة>   

عبر منصة التوافق

نعم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top