ΠΠΎΡΡΠ°ΠΏΠ½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°ΡΠ° Pyston-lite, ΠΊΠΎΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π·Π° CPython. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Pyston, ΠΊΠΎΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ ΠΊΠ°ΠΊΠΎ Π²ΠΈΠ»ΡΡΠΊΠ° ΠΎΠ΄ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ CPython, Pyston-lite Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΠΊΠΎ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° Python (CPython). ΠΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΎ ΠΏΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΡΠ°Π½ΠΊΠΈΡΠ΅ Π½Π° Python 3.7, 3.9 ΠΈ 3.10, ΠΏΠΎΠΊΡΠ°Ρ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π°ΡΠ° Π³ΡΠ°Π½ΠΊΠ° 3.8.
Pyston-lite Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° Pyston Π±Π΅Π· Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΎΡ, ΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ PIP ΠΈΠ»ΠΈ Conda. Pyston-lite Π΅ Π²Π΅ΡΠ΅ Ρ ΠΎΡΡΠΈΡΠ°Π½ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°ΡΠ° PyPI ΠΈ Conda ΠΈ Π·Π° Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, ΡΠ°ΠΌΠΎ ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βpip install pyston_lite_autoloadβ ΠΈΠ»ΠΈ βconda install pyston_lite_autoload -c pystonβ. Π‘Π΅ Π½ΡΠ΄Π°Ρ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ: pyston_lite (Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ JIT) ΠΈ pyston_lite_autoload (Π²ΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠ° Π·Π°ΠΌΠ΅Π½Π° Π½Π° JIT ΠΊΠΎΠ³Π° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Python ΠΏΡΠΎΡΠ΅ΡΠΎΡ). ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° JIT ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΌΠΎΠ΄ΡΠ»ΠΎΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° pyston_lite.enable().
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π²ΠΈΡΠ° Π΄Π΅ΠΊΠ° ΡΠ΅Π³Π° Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°Π°Ρ Pyston-lite ΠΊΠ°ΠΊΠΎ Π½ΠΈΠ²Π΅Π½ ΠΏΡΠΈΠΌΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄. Π Π΅Π΄ΠΎΠ²Π½ΠΈΠΎΡ Pyston ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, Π½ΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° Π΅ ΠΏΠΎΠΏΡΠ΅ΡΠ΅Π½Π° ΠΎΠ΄ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΎΡ, Π΄ΠΎΠ΄Π΅ΠΊΠ° Pyston-lite Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° Π²ΠΎ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΡΡΡΠ½ΠΈ Π²ΠΎ Pyston, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΡΠ΅ΡΡΠ»Π΅Π½ΠΈ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠΎΡΡΠ°Π² Π½Π° CPython. ΠΠ° Π΄ΠΎΠ»Π³ ΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΈ ΠΆΠ΅Π»Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π²ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° CPython.
ΠΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅Π³Π°ΡΠ½Π° ΡΠΎΡΠΌΠ°, Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ CPython 3.8, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Pyston-lite ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π·Π° 10% Π²ΠΎ ΡΠ΅ΠΊΡΡΠΎΡ Π½Π° ΠΌΠ°ΠΊΡΠΎΠ±Π΅Π½ΡΠΌΠ°ΡΠΊΠΎΠ²ΠΈΡΠ΅ ΠΈ Π·Π° 28% Π²ΠΎ ΡΠ΅ΡΡΠΎΡ Π·Π° pyperformance. ΠΠ° ΡΠΏΠΎΡΠ΅Π΄Π±Π°, Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΠ΅Π½ Pyston Π΅ 28% ΠΈ 65%, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ.
ΠΡΠ΅ΡΡΡΠΎΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ CPython 3.11 Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄, ΠΏΠΎΠ±ΡΠ·ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π±ΡΠ·ΠΈ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΈ Π·Π° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π΅ΠΊΠΎΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Cinder ΠΈ HotPy. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, CPython 3.11rc2 Π²ΠΎ Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΎΠ΄ 12% ΠΈ 26%, ΡΡΠΎ Π΅ ΡΠΏΠΎΡΠ΅Π΄Π»ΠΈΠ²ΠΎ ΡΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Pyston-lite (Π½ΠΎΠ²ΠΈΠΎΡ CPython ΠΈ Pyston-lite ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ; ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Pyston-lite Π½Π° CPython 3.11 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΎΠ²Π°Π° Π³ΡΠ°Π½ΠΊΠ°).
ΠΠ·Π²ΠΎΡ: opennet.ru