โปรเจ็กต์ Pyston ซึ่งนำเสนอ Python พร้อมคอมไพเลอร์ JIT ได้กลับไปสู่โมเดลการพัฒนาแบบเปิด

นักพัฒนาโครงการ Pyston ซึ่งนำเสนอการใช้งานภาษา Python ที่มีประสิทธิภาพสูงโดยใช้เทคโนโลยีการคอมไพล์ JIT ที่ทันสมัย ​​นำเสนอ Pyston 2.2 รุ่นใหม่ และประกาศการกลับมาของโครงการสู่โอเพ่นซอร์ส การดำเนินการนี้มีเป้าหมายเพื่อให้ได้ประสิทธิภาพสูงใกล้เคียงกับภาษาระบบดั้งเดิม เช่น C++ รหัสสำหรับสาขา Pyston 2 ได้รับการเผยแพร่บน GitHub ภายใต้ PSFL (Python Software Foundation License) ซึ่งคล้ายกับใบอนุญาต CPython

ให้เราจำไว้ว่าโปรเจ็กต์ Pyston ก่อนหน้านี้ได้รับการดูแลโดย Dropbox ซึ่งหยุดให้ทุนในการพัฒนาในปี 2017 นักพัฒนา Pyston ก่อตั้งบริษัทของตนและเปิดตัวสาขา Pyston 2 ที่ออกแบบใหม่อย่างมีนัยสำคัญ ซึ่งได้รับการประกาศว่ามีเสถียรภาพและพร้อมใช้งานอย่างแพร่หลาย ในขณะเดียวกัน นักพัฒนาก็หยุดเผยแพร่ซอร์สโค้ดและเปลี่ยนไปใช้แอสเซมบลีไบนารีเท่านั้น ขณะนี้มีการตัดสินใจที่จะทำให้ Pyston เป็นโครงการโอเพ่นซอร์สอีกครั้ง และโอนบริษัทไปยังโมเดลธุรกิจที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์โอเพ่นซอร์ส นอกจากนี้ ยังมีการพิจารณาความเป็นไปได้ในการถ่ายโอนการปรับให้เหมาะสมจาก Pyston ไปยัง CPython มาตรฐาน

มีข้อสังเกตว่า Pyston 2.2 เร็วกว่า Python มาตรฐาน 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

เพิ่มความคิดเห็น