Pyston-lite JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрддрд╛ Python 3.10 рд▓рд╛ рд╕рдорд░реНрдерди рдкреБрд░рд╡рддреЛ

Pyston-lite рд╡рд┐рд╕реНрддрд╛рд░рд╛рдЪреЗ рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдЬреЗ CPython рд╕рд╛рдареА JIT рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ. Pyston рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдЬреЛ CPython codebase рдкрд╛рд╕реВрди рдХрд╛рдЯрд╛ рдореНрд╣рдгреВрди рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, Pyston-lite рд▓рд╛ рдорд╛рдирдХ Python рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ (CPython) рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдореНрд╣рдгреВрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рд╣реЗ рдкреВрд░реНрд╡реА рд╕рдорд░реНрдерд┐рдд 3.7 рд╢рд╛рдЦрд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, Python 3.9, 3.10, рдЖрдгрд┐ 3.8 рд╢рд╛рдЦрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреБрд░рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ.

Pyston-lite рддреБрдореНрд╣рд╛рд▓рд╛ PIP рдХрд┐рдВрд╡рд╛ Conda рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ рд╡рд╛рдкрд░реВрди рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рди рдмрджрд▓рддрд╛ рдореВрд▓рднреВрдд Pyston рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. PyPI рдЖрдгрд┐ Conda repositories рдордзреНрдпреЗ Pyston-lite рдЖрдзреАрдкрд╛рд╕реВрди рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд тАЬpip install pyston_lite_autoloadтАЭ рдХрд┐рдВрд╡рд╛ тАЬconda install pyston_lite_autoload -c pystonтАЭ рд╣реА рдЖрдЬреНрдЮрд╛ рдЪрд╛рд▓рд╡рд╛. рджреЛрди рдкреЕрдХреЗрдЬреЗрд╕ рдСрдлрд░ рдХреЗрд▓реА рдЬрд╛рддрд╛рдд: pyston_lite (рдереЗрдЯ JIT) рдЖрдгрд┐ pyston_lite_autoload (рдЬреЗрд╡реНрд╣рд╛ Python рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рд╣реЛрддреЗ рддреЗрдВрд╡реНрд╣рд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд JIT рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддреЗ). pyston_lite.enable() рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдСрдЯреЛрд▓реЛрдб рдореЙрдбреНрдпреВрд▓ рдЗрдиреНрд╕реНрдЯреЙрд▓ рди рдХрд░рддрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреВрди JIT рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдореЕрдЯрд┐рдХрд░рд┐рддреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╡рд┐рдХрд╕рдХрд╛рдВрдиреА рдЬрд╛рд╣реАрд░ рдХреЗрд▓реЗ рдХреА рддреЗ рдЖрддрд╛ рддреНрдпрд╛рдВрдЪреЗ рдкреНрд░рд╛рдердорд┐рдХ рдЙрддреНрдкрд╛рджрди рдореНрд╣рдгреВрди Pyston-lite рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЖрд╣реЗрдд. рд░реЗрдЧреНрдпреБрд▓рд░ рдкрд╛рдпрд╕реНрдЯрди рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╛рдареА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдкрд░рдВрддреБ рджреБрднрд╛рд╖реА рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдЧрд░рдЬреЗрдореБрд│реЗ рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдмрд╛рдзрд┐рдд рд╣реЛрддреЛ, рддрд░ Pyston-lite рд╕рд╣рдЬ рд╡рд┐рджреНрдпрдорд╛рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. Pyston рдордзреНрдпреЗ рдЙрдкрд╕реНрдерд┐рдд рдЕрд╕рд▓реЗрд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди, рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рдореБрдЦреНрдп CPython рд░рдЪрдирд╛рдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рджреАрд░реНрдШрдХрд╛рд▓реАрди, JIT рдХрдВрдкрд╛рдЗрд▓рд░рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА CPython рдЪреНрдпрд╛ рдореБрдЦреНрдп рд╕рдВрд░рдЪрдиреЗрдд рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ.

рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд, CPython 3.8 рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, Pyston-lite рд╡рд╛рдкрд░рд▓реНрдпрд╛рдиреЗ рдореЕрдХреНрд░реЛрдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЯреЗрдХреНрд╕реНрдЯрдордзреНрдпреЗ 10% рдЖрдгрд┐ pyperformance рдЪрд╛рдЪрдгреАрдордзреНрдпреЗ 28% рдиреЗ рдХрд╛рдордЧрд┐рд░реА рд╕реБрдзрд╛рд░реВ рд╢рдХрддреЗ. рддреБрд▓рдиреЗрд╕рд╛рдареА, рд╕реНрдЯрдБрдбрдЕрд▓реЛрди рдкрд╛рдпрд╕реНрдЯрди рд╡рд╛рдкрд░рддрд╛рдирд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврдгреЗ рдЕрдиреБрдХреНрд░рдореЗ 28% рдЖрдгрд┐ 65% рдЖрд╣реЗ.

рдореБрдЦреНрдп CPython 3.11 рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдЖрдЧрд╛рдореА рдкреНрд░рдХрд╛рд╢рдирд╛рдордзреНрдпреЗ рдмрд╛рдпрдХреЛрдб рд╕реНрдЯреЗрдЯ рдХреЕрд╢рд┐рдВрдЧ, рдЬрд▓рдж рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рдЬрд▓рдж рджреБрднрд╛рд╖реНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░, рддрд╕реЗрдЪ Cinder рдЖрдгрд┐ HotPy рдкреНрд░рдХрд▓реНрдкрд╛рдВрджреНрд╡рд╛рд░реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдмрджрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдкрд░рд┐рдгрд╛рдореА, рд╡рд░реАрд▓ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ CPython 3.11rc2 12% рдЖрдгрд┐ 26% рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдв рджрд░реНрд╢рд╡рддреЗ, рдЬреА Pyston-lite рдЪреНрдпрд╛ рдХрд╛рдордЧрд┐рд░реАрд╢реА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рдпреЗрддреЗ (рдирд╡реАрди CPython рдЖрдгрд┐ Pyston-lite рднрд┐рдиреНрди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╡рд╛рдкрд░рддрд╛рдд; Pyston-lite CPython рд╡рд░ рдкреЛрд░реНрдЯ рдХрд░рдгреЗ 3.11 рдпрд╛ рд╢рд╛рдЦреЗрдЪреНрдпрд╛ рдХрд╛рдордЧрд┐рд░реАрдордзреНрдпреЗ рдЖрдгрдЦреА рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░реЗрд▓).

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛