Pythonду JIT компилятору менен сунуштаган Pyston долбоору ачык өнүгүү моделине кайтып келди

Заманбап JIT компиляция технологияларын колдонуу менен Python тилин жогорку натыйжалуу ишке ашырууну сунуш кылган Pyston долбоорунун иштеп чыгуучулары Pyston 2.2 жаңы релизинин бет ачарын көрсөтүштү жана долбоордун ачык булакка кайтып келишин жарыялашты. Ишке ашыруу C++ сыяктуу салттуу система тилдерине жакын жогорку көрсөткүчтөргө жетишүүгө багытталган. Pyston 2 бутагынын коду GitHub сайтында CPython лицензиясына окшош PSFL (Python Software Foundation License) астында жарыяланган.

Эске салсак, 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ди колдойт. Pyston жана CPython ортосундагы негизги айырмачылыктардын арасында DynASM JIT колдонуу, саптык кэш жана жалпы оптималдаштыруу болуп саналат.

Pyston 2.2деги өзгөрүүлөрдүн арасында CPython'дун көптөгөн мүчүлүштүктөрдү оңдоо функцияларынан код базасын тазалоо жөнүндө да сөз бар, алар аткарууга терс таасирин тийгизет, бирок иштеп чыгуучулар арасында дээрлик талап кылынбайт. Статистика келтирилген, ага ылайык мүчүлүштүктөрдү оңдоо куралдарын алып салуу 2% ылдамдатууга алып келет, бирок иштеп чыгуучулардын 2%га жакыны гана бул функцияларды колдонушат.

Source: opennet.ru

Комментарий кошуу