ИздаванС Π½Π° PyPy 7.2, рСализация Π½Π° Python, написана Π½Π° Python

ΠžΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€