پیسٹن پروجیکٹ کے ڈویلپرز، جو کہ جدید جسٹ ان ٹائم (جے آئی ٹی) کمپلیشن ٹیکنالوجیز کا استعمال کرتے ہوئے ایک اعلیٰ کارکردگی والے ازگر کے نفاذ کی پیشکش کرتا ہے، نے پیسٹن 2.2 کو جاری کیا ہے اور پروجیکٹ کی اوپن سورس پر واپسی کا اعلان کیا ہے۔ نفاذ کا مقصد روایتی نظام زبانوں جیسے C++ کے قریب اعلی کارکردگی حاصل کرنا ہے۔ Pyston 2 برانچ Python Software Foundation License (PSFL) کے تحت GitHub پر شائع کی گئی ہے، جیسا کہ CPython کے لیے استعمال ہونے والے لائسنس کی طرح ہے۔
ایک یاد دہانی کے طور پر، Pyston پروجیکٹ کا انتظام پہلے Dropbox کے ذریعے کیا گیا تھا، جس نے 2017 میں اس کی ترقی کے لیے فنڈز دینا بند کر دیا تھا۔ Pyston کے ڈویلپرز نے اپنی کمپنی کی بنیاد رکھی اور Pyston 2 کا نمایاں طور پر دوبارہ کام کیا ہوا ورژن جاری کیا، جسے مستحکم اور وسیع پیمانے پر استعمال کے لیے تیار قرار دیا گیا تھا۔ ایک ہی وقت میں، ڈویلپرز نے سورس کوڈ کو شائع کرنا بند کر دیا اور صرف بائنری بلڈز فراہم کرنے پر سوئچ کیا۔ اب، پیسٹن کو دوبارہ اوپن سورس کیا گیا ہے، اور کمپنی اوپن سورس ڈویلپمنٹ پر مبنی بزنس ماڈل میں تبدیل ہو رہی ہے۔ مزید برآں، پیسٹن کی اصلاح کو معیاری CPython میں پورٹ کرنے کے امکان پر غور کیا جا رہا ہے۔
واضح رہے کہ Pyston 2.2 کارکردگی کے ٹیسٹوں میں جو ایپلی کیشنز کے لیے مخصوص بوجھ کا اندازہ لگاتا ہے۔ ویب سرورز، اسٹاک Python سے 30% تیز ہے۔ پسٹن 2.2 پچھلی ریلیزز کے مقابلے میں نمایاں کارکردگی میں بہتری کی بھی فخر کرتا ہے، بنیادی طور پر نئے شعبوں کے لیے اصلاح کے اضافے کے ساتھ ساتھ بہتر JIT اور کیشنگ میکانزم کی وجہ سے۔
کارکردگی کی اصلاح کے علاوہ، نئی ریلیز CPython 3.8.8 برانچ سے تبدیلیوں کی پورٹنگ کے لیے بھی قابل ذکر ہے۔ مقامی Python کے ساتھ مطابقت کے لحاظ سے، Pyston پروجیکٹ کو سب سے زیادہ مطابقت پذیر متبادل نفاذ کے طور پر سمجھا جاتا ہے، کیونکہ Pyston بنیادی CPython codebase کا ایک کانٹا ہے۔ Pyston تمام CPython خصوصیات کو سپورٹ کرتا ہے، بشمول C ایکسٹینشنز تیار کرنے کے لیے C API۔ Pyston اور CPython کے درمیان کلیدی اختلافات میں DynASM JIT کا استعمال، ان لائن کیشنگ، اور عمومی اصلاح شامل ہیں۔
Pyston 2.2 میں ہونے والی تبدیلیوں میں، کوڈ بیس کو بھی صاف کیا جاتا ہے تاکہ بہت سی CPython ڈیبگنگ فیچرز کو ہٹایا جا سکے جو کارکردگی کو منفی طور پر متاثر کرتی ہیں لیکن ڈویلپرز شاذ و نادر ہی استعمال کرتے ہیں۔ اعداد و شمار کا حوالہ دیا گیا ہے جس سے ظاہر ہوتا ہے کہ ڈیبگنگ ٹولز کو ہٹانے کے نتیجے میں 2% رفتار بڑھ جاتی ہے، اس حقیقت کے باوجود کہ تقریباً 2% ڈویلپر ان خصوصیات کو استعمال کرتے ہیں۔
ماخذ: opennet.ru
