Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° PyPy 7.3, Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Python, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Python (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ RPython, 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 Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ (CPython). Π¦Π΅Π½ΠΎΠΉ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ — ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ PyPy ΡΠΈΠ»Π°ΠΌΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ PyPy) ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ CPython Π² ΠΏΠΎΠ»ΡΠΎΡΠ°-Π΄Π²Π° ΡΠ°Π·Π°.
ΠΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ CFFI 1.13.1 (C Foreign Function Interface) ΠΈ cppyy 1.10.6 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π½Π° ΡΠ·ΡΠΊΠ°Ρ
Π‘ΠΈ ΠΈ C++ (CFFI ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Π‘ΠΈ, Π° cppyy Π΄Π»Ρ ΠΊΠΎΠ΄Π° Π½Π° C++). Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° pyrepl Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ REPL.
ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΡΠΎΠΊ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Unicode.
ΠΠ»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenSSL 1.1 ΠΈ TLS 1.3.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru