ืžืขืœื“ื•ื ื’ ืคื•ืŸ PyPy 7.2, ืึท Python ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Python

ื’ืขืฉืืคืŸ ืคึผืจื•ื™ืขืงื˜ ืžืขืœื“ื•ื ื’ PyPy 7.2, ืื™ืŸ ื•ื•ืึธืก ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืฉืคึผืจืึทืš ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ (ื ื™ืฆืŸ ืึท ืกื˜ืึทื˜ื™ืงืœื™ ื˜ื™ื™ืคึผื˜ ืกืึทื‘ืกืขื˜ RPython, ืจื™ืกื˜ืจื™ืงื˜ื™ื“ ืคึผื™ื˜ื”ืึธืŸ). ื“ื™ ืžืขืœื“ื•ื ื’ ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืคึฟืึทืจ ื“ื™ PyPy2.7 ืื•ืŸ PyPy3.6 ืฆื•ื•ื™ื™ื’ืŸ, ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Python 2.7 ืื•ืŸ Python 3.6 ืกื™ื ื˜ืึทืงืก. ื“ื™ ืžืขืœื“ื•ื ื’ ืื™ื– ื‘ื ื™ืžืฆื ืคึฟืึทืจ ืœื™ื ื•ืงืก (ืงืก86, ืงืก86_64, ืคึผืคึผืง64, ืก390ืงืก, 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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’