ΡΠ΅Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Python, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Python (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ , Restricted 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++. Π ΠΊΠ»ΠΎΠ½Π° PyPy2.7 Π΅ Π±Π΅ΠΊΡΡΠΎΡΠΈΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» _ssl Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° CFFI. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° CFFI ΡΠ° ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ _hashlib ΠΈ _crypt.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
