рдЬреЗрдЖрдпрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░рд╕рд╣ рдкрд╛рдпрдерди рдСрдлрд░ рдХрд░рдгрд╛рд░рд╛ рдкрд╛рдпрд╕реНрдЯрди рдкреНрд░рдХрд▓реНрдк, рдЦреБрд▓реНрдпрд╛ рд╡рд┐рдХрд╛рд╕ рдореЙрдбреЗрд▓рд╡рд░ рдкрд░рдд рдЖрд▓рд╛ рдЖрд╣реЗ

рдЖрдзреБрдирд┐рдХ JIT рд╕рдВрдХрд▓рди рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдкрд╛рдпрдерди рднрд╛рд╖реЗрдЪреА рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ Pyston рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА Pyston 2.2 рдЪреЗ рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдУрдкрди рд╕реЛрд░реНрд╕рд╡рд░ рдкрд░рдд рдпреЗрдгреНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА. C++ рд╕рд╛рд░рдЦреНрдпрд╛ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╕рд┐рд╕реНрдЯреАрдо рднрд╛рд╖рд╛рдВрдЪреНрдпрд╛ рдЬрд╡рд│рдкрд╛рд╕ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рд╛рдзреНрдп рдХрд░рдгреЗ рд╣реЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. Pyston 2 рд╢рд╛рдЦреЗрдЪрд╛ рдХреЛрдб PSFL (Python Software Foundation License) рдЕрдВрддрд░реНрдЧрдд GitHub рд╡рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреЛ CPython рдкрд░рд╡рд╛рдиреНрдпрд╛рдкреНрд░рдорд╛рдгреЗрдЪ рдЖрд╣реЗ.

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

рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЛрдбрдЪреЗ рдореВрд▓реНрдпрдорд╛рдкрди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ Pyston 2.2 рдорд╛рдирдХ Python рдкреЗрдХреНрд╖рд╛ 30% рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗ. рдорд╛рдЧреАрд▓ рд░рд┐рд▓реАрдЭрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд Pyston 2.2 рдордзреАрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдд рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдв рджреЗрдЦреАрд▓ рдЖрд╣реЗ, рдЬреА рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рдирд╡реАрди рдХреНрд╖реЗрддреНрд░рд╛рдВрд╕рд╛рдареА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди, рддрд╕реЗрдЪ JIT рдЖрдгрд┐ рдХреЕрд╢рд┐рдВрдЧ рдпрдВрддреНрд░рдгрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдЖрд╣реЗ.

рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рджреЗрдЦреАрд▓ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ рдХрд╛рд░рдг рддреЗ CPython 3.8.8 рд╢рд╛рдЦреЗрддреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рддреЗ. рдореВрд│ рдкрд╛рдпрдердирд╢реА рд╕реБрд╕рдВрдЧрддрддреЗрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ, рдкрд╛рдпрд╕реНрдЯрди рдкреНрд░рдХрд▓реНрдкрд╛рд▓рд╛ рд╕рд░реНрд╡рд╛рдд CPython-рд╕реБрд╕рдВрдЧрдд рдкрд░реНрдпрд╛рдпреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ, рдХрд╛рд░рдг Pyston рд╣рд╛ рдореБрдЦреНрдп CPython рдХреЛрдбрдмреЗрд╕рдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛ рдЖрд╣реЗ. Pyston CPython рдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ, рдЬреНрдпрд╛рдд C рднрд╛рд╖реЗрдордзреНрдпреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА C API рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. Pyston рдЖрдгрд┐ CPython рдордзреАрд▓ рдореБрдЦреНрдп рдлрд░рдХ рдореНрд╣рдгрдЬреЗ DynASM JIT, рдЗрдирд▓рд╛рдЗрди рдХреЕрд╢рд┐рдВрдЧ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирдЪрд╛ рд╡рд╛рдкрд░.

Pyston 2.2 рдордзреАрд▓ рдмрджрд▓рд╛рдВрдордзреНрдпреЗ, CPython рдЪреНрдпрд╛ рдЕрдиреЗрдХ рдбреАрдмрдЧрд┐рдВрдЧ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдордзреВрди рдХреЛрдб рдмреЗрд╕ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рдЪрд╛ рджреЗрдЦреАрд▓ рдЙрд▓реНрд▓реЗрдЦ рдЖрд╣реЗ, рдЬреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдХрд░рддрд╛рдд, рдкрд░рдВрддреБ рд╡рд┐рдХрд╕рдХрд╛рдВрдордзреНрдпреЗ рдЬрд╡рд│рдЬрд╡рд│ рдорд╛рдЧрдгреА рдирд╛рд╣реА. рдХреЗрд╡рд│ 2% рд╡рд┐рдХрд╛рд╕рдХ рд╣реА рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░рддрд╛рдд рд╣реЗ рддрдереНрдп рдЕрд╕реВрдирд╣реА, рдбреАрдмрдЧрд┐рдВрдЧ рд╕рд╛рдзрдиреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛рдиреЗ 2% рдЧрддреА рд╡рд╛рдврддреЗ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рдЖрдХрдбреЗрд╡рд╛рд░реА рджрд┐рд▓реА рдЬрд╛рддреЗ.

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

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