ʻO ka papahana Pyston, e hāʻawi ana iā Python me kahi mea hoʻopili JIT, ua hoʻi i kahi kumu hoʻomohala wehe

ʻO nā mea hoʻomohala o ka papahana Pyston, e hāʻawi ana i kahi hoʻokō kiʻekiʻe o ka ʻōlelo Python me ka hoʻohana ʻana i nā ʻenehana hōʻuluʻulu JIT hou, ua hōʻike i kahi hoʻokuʻu hou o Pyston 2.2 a hoʻolaha i ka hoʻihoʻi ʻana o ka papahana i ka open source. Manaʻo ka hoʻokō e hoʻokō i ka hana kiʻekiʻe kokoke i nā ʻōlelo ʻōnaehana kuʻuna e like me C ++. Hoʻopuka ʻia ke code no ka lālā Pyston 2 ma GitHub ma lalo o ka PSFL (Python Software Foundation License), e like me ka laikini CPython.

E hoʻomanaʻo mākou ua mālama ʻia ka papahana Pyston e Dropbox, nāna i hoʻōki i ka hoʻomohala kālā ma 2017. Ua hoʻokumu nā mea hoʻomohala Pyston i kā lākou hui a hoʻokuʻu i kahi lālā Pyston 2 i hoʻolālā hou ʻia, i ʻōlelo ʻia he kūpaʻa a mākaukau no ka hoʻohana ākea. I ka manawa like, ua ho'ōki nā mea hoʻomohala i ka hoʻolaha ʻana i ke code kumu a hoʻololi i ka hāʻawi ʻana i nā hui binary wale nō. I kēia manawa ua hoʻoholo ʻia e hana hou ʻo Pyston i kahi papahana open source, a hoʻololi i ka hui i kahi ʻoihana ʻoihana e pili ana i ka hoʻomohala ʻana i nā polokalamu open source. Eia kekahi, ke noʻonoʻo ʻia nei ka hiki ke hoʻololi i nā optimizations mai Pyston i CPython maʻamau.

Hoʻomaopopo ʻia ʻo Pyston 2.2 ʻo 30% ʻoi aku ka wikiwiki ma mua o ka Python maʻamau i nā hoʻokolohua hana e loiloi i nā ukana i loaʻa i nā noi kikowaena pūnaewele. Aia kekahi piʻi nui o ka hana ma Pyston 2.2 i hoʻohālikelike ʻia i nā mea i hoʻokuʻu mua ʻia, i loaʻa nui ʻia ma o ka hoʻohui ʻana o nā optimizations no nā wahi hou, a me ka hoʻomaikaʻi ʻana i ka JIT a me nā mīkini caching.

Ma waho aʻe o ka hoʻonui ʻana i ka hana, hoihoi nō hoʻi ka hoʻokuʻu hou ʻana no ka mea e lawe ana i nā loli mai ka lālā CPython 3.8.8. Ma ke ʻano o ka hoʻohālikelike ʻana me ka Python maoli, ua ʻōlelo ʻia ka papahana Pyston ma ke ʻano he hoʻokō ʻokoʻa CPython-kūpono loa, ʻoiai ʻo Pyston kahi ʻōpala mai ka codebase CPython nui. Kākoʻo ʻo Pyston i nā hiʻohiʻona āpau o CPython, me ka C API no ka hoʻomohala ʻana i nā mea hoʻonui i ka ʻōlelo C. Ma waena o nā ʻokoʻa nui ma waena o Pyston a me CPython ʻo ka hoʻohana ʻana o DynASM JIT, inline caching a me nā optimizations maʻamau.

Ma waena o nā hoʻololi i Pyston 2.2, aia kekahi ʻōlelo no ka hoʻomaʻemaʻe ʻana i ka waihona code mai nā hiʻohiʻona debugging o CPython, e hoʻopilikia maikaʻi ʻole i ka hana, akā ʻaʻole i koi ʻia i waena o nā mea hoʻomohala. Hāʻawi ʻia nā helu helu e like me ka wehe ʻana i nā mea hana debugging e alakaʻi i ka wikiwiki o 2%, ʻoiai ʻo ka 2% wale nō o nā mea hoʻomohala e hoʻohana i kēia mau hana.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka