Python-ийг JIT хөрвүүлэгчтэй санал болгодог Pyston төсөл нь нээлттэй хөгжүүлэлтийн загварт буцаж ирэв

Орчин үеийн JIT эмхэтгэлийн технологийг ашиглан Python хэлний өндөр гүйцэтгэлтэй хэрэгжилтийг санал болгодог Pyston төслийн хөгжүүлэгчид Pyston 2.2-ийн шинэ хувилбарыг танилцуулж, төслийг нээлттэй эх сурвалж руу буцаах тухай мэдэгдэв. Энэхүү хэрэгжилт нь C++ гэх мэт уламжлалт системийн хэлтэй ойролцоо өндөр гүйцэтгэлд хүрэх зорилготой юм. Pyston 2 салбарын кодыг CPython лицензтэй адил PSFL (Python Software Foundation License) дагуу GitHub дээр нийтэлдэг.

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 хэл дээр өргөтгөл боловсруулахад зориулагдсан C API. Pyston болон CPython хоёрын гол ялгаа нь DynASM JIT, шугаман кэш, ерөнхий оновчлолыг ашиглах явдал юм.

Pyston 2.2-т гарсан өөрчлөлтүүдийн дунд CPython-ийн дибаг хийх олон функцээс кодын суурийг цэвэрлэх тухай дурьдсан бөгөөд энэ нь гүйцэтгэлд сөргөөр нөлөөлдөг боловч хөгжүүлэгчдийн дунд бараг эрэлт хэрэгцээгүй байдаг. Хөгжүүлэгчдийн ердөө 2 орчим хувь нь эдгээр функцийг ашигладаг хэдий ч дибаг хийх хэрэгслийг арилгах нь 2% -иар хурдасгахад хүргэдэг статистик мэдээллийг өгсөн болно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх