ΠΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° PyPy 7.2, Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Python, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Python (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ RPython, ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Python). ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ 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 Ρ Π΅Π΄ΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄ΠΎ Π΄Π²Π° ΠΏΡΡΠΈ.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½Π° ΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Python 3.6, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ Π² Π±Π΅ΡΠ° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° JIT Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Aarch64 (ARM64). ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈ Π½ΠΎΠ² JSON Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡΡΠ·, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° JIT. ΠΠΎΠ΄ΡΠ»ΡΡ CFFI 1.13 (C Foreign Function Interface) Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° C ΠΈ C++. CFFI ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ C ΠΊΠΎΠ΄, Π΄ΠΎΠΊΠ°ΡΠΎ cppyy ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ C++ ΠΊΠΎΠ΄. ΠΠ°Π·ΠΈΡΠ°Π½ΠΈΡΡ Π½Π° CFFI ΠΌΠΎΠ΄ΡΠ» _ssl Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΌ ΠΊΠ»ΠΎΠ½Π° PyPy2.7. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ _hashlib ΠΈ _crypt ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ CFFI.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru