I whakauruhia a Pyston-lite, he kaikoipi JIT mo te Python taketake

Ko nga kaihanga o te kaupapa Pyston, e tuku ana i te whakatinanatanga teitei o te reo Python ma te whakamahi i nga hangarau whakahiato JIT hou, i whakaatu i te toronga Pyston-lite me te whakatinanatanga o te JIT compiler mo CPython. Ahakoa he peka a Pyston o te CPython codebase ka hangaia motuhake, ka hangaia a Pyston-lite hei toronga mo te ao katoa i hangaia hei hono atu ki te kaiwhakamaori Python paerewa (CPython).

Ko te Pyston-lite ka taea e koe te whakamahi i nga hangarau Pyston taketake me te kore e whakarereke i te whakamaori, ma te whakauru i tetahi taapiri taapiri ma te whakamahi i te PIP, te kaiwhakahaere putea Conda ranei. Ko te Pyston-lite kua whakahaerehia i roto i nga whare pupuri PyPI me Conda me te whakauru, me whakahaere noa te whakahau "pip install pyston_lite_autoload" ranei "conda install pyston_lite_autoload -c pyston". E rua nga kete ka tukuna: pyston_lite (tika JIT) me pyston_lite_autoload (ka mahi te whakakapi JIT aunoa ina timata te tukanga Python). Ka taea hoki te whakahaere i te kaupapa mo te whakaurunga o JIT mai i te tono me te kore e whakauru i te waahanga autoload, ma te whakamahi i te mahi pyston_lite.enable().

Ahakoa kaore a Pyston-lite e kapi i nga arotautanga katoa e waatea ana i Pyston, ka taea e tana whakamahinga te whakapai ake i nga mahi ma te 10-25% ka whakaritea ki te Python 3.8. I te wa kei te heke mai, kua whakamaheretia kia whakawhitia te nuinga o nga arotautanga kei roto i a Pyston ki te Pyston-lite, me te whakawhānui ake i nga putanga tautoko o CPython (ko te tuku tuatahi e tautoko ana i te Python 3.8 anake). Ko etahi atu mahere o te ao ko te mahi tahi me te roopu CPython ki te whakatinana i nga API hou mo te JIT, kia kaha ake te whakahaere i nga mahi a Python. Kei te matapakihia te whakaurunga o nga huringa i whakaarohia ki te peka Python 3.12. Ko te mea pai, ko te kaha ki te neke i nga mahi katoa mai i Pyston ki roto i te toronga e whakaarohia ana, ka taea e tatou te karo ki te pupuri i a tatou ake marau CPython.

I tua atu i te Pyston-lite, i tukuna ano e te kaupapa he whakahou ki te putea Pyston 2.3.4 katoa, e tuku ana i nga arotautanga hou. I roto i te whakamatautau pyperformance, he tere ake te putanga 2.3.4 i te tukunga 2.3.3 mo te 6%. Ko te whiwhinga mahi katoa ka whakaritea ki te CPython e 66%.

I tua atu, ka taea e tatou te kite i nga arotautanga i whakawhanakehia i roto i te huringa whanaketanga CPython 3.11 i roto i te kaupapa matua, i etahi whakamatautau ka taea te whakanui ake i nga mahi ma te 25%. Hei tauira, i roto i te CPython 3.11, kua piki ake te pai o te keteroki i te ahua bytecode o nga waahanga taketake, ka tere ake te whakarewatanga o nga tuhinga ma te 10-15%. Kua tino whakaterehia nga waea mahi, kua taapirihia nga kaiwhakamaori tere mo nga mahi paerewa. Kei te haere ano te mahi ki te kawe i etahi arotautanga kua whakaritea e nga kaupapa Cinder me HotPy.

I tua atu, i roto i te kaupapa nogil, kei te haere tonu te mahi mo te hanga i te CPython kaore he raka kaiwhakamaori o te ao (GIL, Global Interpreter Lock), e kore e taea te uru whakarara ki nga taonga tiritahi mai i nga miro rereke, e aukati ana i te whakarara o nga mahi i runga i te maha. - nga punaha matua. Ko tetahi atu otinga mo te raruraru GIL, ko te kaha ki te here i tetahi GIL motuhake ki ia kaiwhakamaori e whakahaere ana i roto i tetahi mahi kei te whakawhanakehia (he maha nga kaiwhakamaori ka taea te whakahaere i roto i te mahi kotahi, engari ko te kaha o te mahi whakarara kei te GIL).

Source: opennet.ru

Tāpiri i te kōrero