Π€ΠΎΡΠΌΠΈΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ PyPy 7.3, Π²ΠΎ ΡΠΈΠΈ ΡΠ°ΠΌΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Python ΡΠ°Π·ΠΈΠΊΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Python (ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ RPython, ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΠ°ΡΡΠΎΠ½). ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π·Π° Π³ΡΠ°Π½ΠΊΠΈΡΠ΅ PyPy2.7 ΠΈ PyPy3.6, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Python 2.7 ΠΈ Python 3.6 ΡΠΈΠ½ΡΠ°ΠΊΡΠ°ΡΠ°. ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎ Π·Π° Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 ΠΈΠ»ΠΈ ARMv7 ΡΠΎ VFPv3), macOS (x86_64), OpenBSD, FreeBSD ΠΈ Windows (x86).
ΠΠΎΡΠ΅Π±Π½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° PyPy Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ, ΠΊΠΎΡ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π° Π½Π΅ΠΊΠΎΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΊΠΎΠ΄ Π²ΠΎ Π»Π΅Ρ, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ Π²ΠΈΡΠΎΠΊ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·Π²Π΅Π΄Π±Π° - ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, PyPy Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ· ΠΎΠ΄ ΠΊΠ»Π°ΡΠΈΡΠ½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Python Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ C (CPython). Π¦Π΅Π½Π°ΡΠ° Π½Π° Π²ΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° - Π²ΠΊΡΠΏΠ½Π°ΡΠ° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡΠ°ΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π° PyPy ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ°ΠΌΠΈΠΎΡ PyPy) ΡΠ° Π½Π°Π΄ΠΌΠΈΠ½ΡΠ²Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° CPython Π·Π° Π΅Π΄Π΅Π½ ΠΈ ΠΏΠΎΠ» Π΄ΠΎ Π΄Π²Π° Π²ΡΠ΅ΠΌΠΈΡΠ°.
ΠΠ΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π½ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ CFFI 1.13.1 (C Foreign Function Interface) ΠΈ cppyy 1.10.6 ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ C ΠΈ C++ (CFFI ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ C ΠΊΠΎΠ΄, Π° cppyy Π·Π° C++ ΠΊΠΎΠ΄). ΠΠΊΠ»ΡΡΡΠ²Π° Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ pyrepl ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° ΡΠΊΠΎΠ»ΠΊΠ° Π ΠΠΠΠΠ¦ΠΠ ΠΠ.
ΠΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½ΠΈΠ·ΠΈ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ Π£Π½ΠΈΠΊΠΎΠ΄ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ.
ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΠΈΠ½Π΄ΠΎΡΡ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΊΡΡΡΠ°Π»Π½ΠΈ ΡΠΈΡΡΠΈ. Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° OpenSSL 1.1 ΠΈ TLS 1.3.
ΠΠ·Π²ΠΎΡ: opennet.ru