پروژه Pyston که پایتون را با یک کامپایلر JIT ارائه می‌کند، به مدل توسعه باز بازگشته است

توسعه دهندگان پروژه Pyston که پیاده سازی با کارایی بالا از زبان پایتون را با استفاده از فناوری های مدرن کامپایل JIT ارائه می دهد، نسخه جدیدی از Pyston 2.2 را ارائه کردند و از بازگشت پروژه به منبع باز خبر دادند. هدف این پیاده سازی دستیابی به عملکرد بالا نزدیک به زبان های سیستم سنتی مانند C++ است. کد شاخه Pyston 2 در GitHub تحت مجوز PSFL (مجوز بنیاد نرم افزار پایتون)، مشابه مجوز CPython منتشر شده است.

به یاد داشته باشید که پروژه Pyston قبلاً تحت نظارت Dropbox بود که در سال 2017 بودجه توسعه را متوقف کرد. توسعه دهندگان Pyston شرکت خود را تأسیس کردند و یک شاخه Pyston 2 با طراحی مجدد قابل توجهی منتشر کردند که پایدار و آماده برای استفاده گسترده اعلام شد. در همان زمان، توسعه دهندگان انتشار کد منبع را متوقف کردند و فقط به ارائه مجموعه های باینری روی آوردند. اکنون تصمیم گرفته شده است که Pyston دوباره به یک پروژه متن باز تبدیل شود و شرکت به یک مدل تجاری مرتبط با توسعه نرم افزار منبع باز منتقل شود. علاوه بر این، امکان انتقال بهینه سازی ها از Pyston به CPython استاندارد در نظر گرفته شده است.

خاطرنشان می‌شود که Pyston 2.2 در تست‌های عملکردی که بارهای ذاتی در برنامه‌های وب سرور را ارزیابی می‌کنند، 30 درصد سریع‌تر از پایتون استاندارد است. همچنین افزایش قابل توجهی در عملکرد در Pyston 2.2 نسبت به نسخه های قبلی وجود دارد که عمدتاً از طریق افزودن بهینه سازی برای مناطق جدید و همچنین بهبود مکانیسم های JIT و حافظه پنهان به دست آمده است.

علاوه بر بهینه سازی عملکرد، نسخه جدید نیز جالب است زیرا تغییراتی را از شاخه CPython 3.8.8 به همراه دارد. از نظر سازگاری با Python بومی، پروژه Pyston به عنوان سازگارترین پیاده سازی جایگزین با CPython تبلیغ می شود، زیرا Pyston یک فورک از پایگاه کد اصلی CPython است. Pyston از تمام ویژگی های CPython از جمله C API برای توسعه برنامه های افزودنی در زبان C پشتیبانی می کند. از جمله تفاوت های اصلی بین Pyston و CPython استفاده از DynASM JIT، کش درونی و بهینه سازی های عمومی است.

در میان تغییرات Pyston 2.2، همچنین به پاکسازی پایه کد از بسیاری از ویژگی های اشکال زدایی CPython اشاره شده است که بر عملکرد تأثیر منفی می گذارد، اما تقریباً در بین توسعه دهندگان مورد تقاضا نیست. آماری ارائه شده است که بر اساس آن حذف ابزارهای اشکال زدایی منجر به افزایش 2 درصدی سرعت می شود، علیرغم این واقعیت که تنها حدود 2 درصد از توسعه دهندگان از این توابع استفاده می کنند.

منبع: opennet.ru

اضافه کردن نظر