پای‌پای

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

پای‌پای (به انگلیسی: PyPy) یک پیاده سازی جایگزین پایتون می باشد. تمرکز پای‌پای بر روی سرعت، کارایی و سازگاری با مفسر اصلی CPython است. مفسر پای‌پای به زبان پایتون نوشته شده است. نسخه‌های کنونی پای‌پای از RPython به کد زبان سی ترجمه و کامپایل شده‌اند.

پای پای معمولا سریعتر از CPython عمل می کند زیرا Just-in-time کامپایلر می باشد ولی CPython یک مفسر می باشد.اکثر کدهای پایتون به جز کدهایی که به CPython وابسته هستند،به خوبی روی پای پای کار می کنند.PyPy از تکنیکی موسوم به meta-tracing استفاده می کند ، که یک مفسر را به کامپایلر درجا تبدیل می کند.از آنجایی که نوشتن مفسرها از کامپایلرها ساده تر می باشد،ولی کندتر عمل می کنند،این روش باعث تولید پیاده سازی کارآمد زبان های برنامه نویسی را ساده تر کند.

RPython[ویرایش]

مفسر PyPy خود در زیر مجموعه محدودی از پایتون به نام RPython (پایتون محدود شده=Restricted Python) نوشته شده است.RPython محدودیت هایی در زبان پایتون ایجاد می کند به گونه ای که نوع متغیر در زمان کامپایل قابل استنباط است.

پروژه PyPy یک ابزاری ایجاد کرده است که کد RPython را تجزیه و تحلیل می کند و آن را به صورت یک کد بایت به همراه یک مفسر نوشته شده به زبان C ترجمه می کند.بخش اعظم این کد به کد ماشین وارد می شود و کد بایت روی مفسر کامپایل شده اجرا می شود.

اکنون از RPython نیز برای نوشتن پیاده سازی های غیر پایتون مانند Pixie استفاده می شود.

وضعیت پروژه[ویرایش]

PyPy با نسخه 2.7.13 CPython سازگار است.PyPy3 با نسخه 2.3.1 آغاز به کار کرد که با نسخه3.6.9 CPython سازگار است. هر دو نسخه دارای Jit compilation می باشند که توسط پردازنده های 32-bit/64-bit x86 و 32-bit/64-bit ARM پشتیبانی می شود.

منابع[ویرایش]

ویکی‌پدیای انگلیسی

پیوند به بیرون[ویرایش]