рдбреАрдкрдорд╛рдЗрдВрдб рдЦреБрд▓рд╛ рдХреЛрдб S6, CPython рдХреЗ рд▓рд┐рдП JIT рд╕рдВрдХрд▓рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкреБрд╕реНрддрдХрд╛рд▓рдп

рдбреАрдкрдорд╛рдЗрдВрдб, рдЬреЛ рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдиреЗ S6 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ JIT рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдорд╛рдирдХ рд╕реАрдкреАрдереЙрди рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдкреАрдереЙрди рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛрдб рдХреЗ рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ 2019 рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред рдЪреВрдВрдХрд┐ рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдХрд╛рд╕ рдкрд╛рдпрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд░реЛрдд рдЧреНрд░рдВрдереЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛрдб CPython 3.7 рдкрд░ рдЖрдзрд╛рд░рд┐рдд C++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЦреБрд▓рд╛ рд╣реИред

рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП S6 рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП V8 рдЗрдВрдЬрди рдХреА рддреБрд▓рдирд╛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореМрдЬреВрджрд╛ cval.c рдмрд╛рдпрдЯреЗрдХреЛрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдмрджрд▓ рджреЗрддреА рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП JIT рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред S6 рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ CPython рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рдмрд╛рдпрдЯреЗрдХреЛрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЬреБрдбрд╝реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдХреЙрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреЛрдб рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрдХрд▓рди рд╕реНрдЯреНрд░рд╛рдВрдЧрдЬреАрдд рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж, asmjit рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЛрдб рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╖реНрдЯрддрдо рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, S6 рд╕рд╛рдорд╛рдиреНрдп CPython рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рдореЗрдВ 9.5 рдЧреБрдирд╛ рддрдХ рдХреА рд╡реГрджреНрдзрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд░рд┐рдЪрд░реНрдбреНрд╕ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреЗ 100 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп, 7 рдЧреБрдирд╛ рдХрд╛ рддреНрд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд░реЗрдЯреНрд░реЗрд╕ рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдЬрд┐рд╕рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣ 3-4.5 рдЧреБрдирд╛ рддреЗрдЬ рд╣реЛрддрд╛ рд╣реИред

рдРрд╕реЗ рдХрд╛рд░реНрдп рдЬрд┐рдиреНрд╣реЗрдВ S6 рдХреЗ рд╕рд╛рде рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╡реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ C API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ NumPy, рд╕рд╛рде рд╣реА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдЪрд╛рд▓рдиред рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ S6 рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреИрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХрд▓ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рднреА рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ (рд╡рд┐рдХрд╛рд╕ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореЛрдб рдЕрдиреБрдХреВрд▓рди рдХреЗ рдЪрд░рдг рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдирдкреИрдХ рдЕрдиреБрдХреНрд░рдо рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдЬреЛ рдПрдХ рдПрдХрд▓ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕рд░рдгрд┐рдпреЛрдВ / рдЯреБрдкрд▓реНрд╕ рдХреЗ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рддрд╛ рд╣реИ, 5 рдЧреБрдирд╛ рддрдХ рдХреА рдордВрджреА рджреЗрдЦреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЪрдХреНрд░реАрдп рдХреЙрд▓ рдХреЗ рд╕рд╛рде, рдкреНрд░рджрд░реНрд╢рди CPython рд╕реЗ 0.97 рд╣реИред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ