เจชเจพเจˆเจฅเจจ เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจจเฉ‚เจ‡เจŸเจ•เจพ 4.0, เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจธเฉ€เจชเฉ€เจฅเจจ เจœเฉ‡เจ†เจˆเจŸเฉ€ เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ—เจคเฉ€

เจจเฉ‚เจ‡เจŸเจ•เจพ 4.0 เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจ‡เฉฑเจ• เจฐเฉ€เจฒเฉ€เจœเจผ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• C เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจค เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจซเจฟเจฐ CPython เจจเจพเจฒ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฒเจˆ libpython เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจˆเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเจจ เจฒเจˆ เจจเฉ‡เจŸเจฟเจต CPython เจŸเฉ‚เจฒเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ)เฅค เจชเจพเจˆเจฅเจจ 2.6, 2.7, 3.4 - 3.13 เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจจเจพเจฒ เจชเฉ‚เจฐเฉ€ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค CPython เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡, เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจชเจพเจˆเจธเจŸเฉ‹เจจ เจŸเฉˆเจธเจŸเจพเจ‚ เจตเจฟเฉฑเจš 335% เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจธเฉเจงเจพเจฐ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจ…เจชเจพเจšเฉ‡ เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš:

  • ะ’ะฝะตัะตะฝั‹ ะธะทะผะตะฝะตะฝะธั ะดะปั ัƒะปัƒั‡ัˆะตะฝะธั ัะพะฒะผะตัั‚ะธะผะพัั‚ะธ ั Python 3.12, 3.13 ะธ 3.14, ะฝะฐะฟั€ะธะผะตั€, ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะพั‚ะปะพะถะตะฝะฝะพะน ะพะฑั€ะฐะฑะพั‚ะบะธ ะฐะฝะฝะพั‚ะฐั†ะธะน ะธ ะฝะพะฒะพะณะพ ัะธะฝั‚ะฐะบัะธัะฐ ะฐะฝะฝะพั‚ะธั€ะพะฒะฐะฝะธั ั‚ะธะฟะพะฒ ะดะปั ะพะฑะพะฑั‰ั‘ะฝะฝั‹ั… ะบะปะฐััะพะฒ ะธ ั„ัƒะฝะบั†ะธะน.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ัะบัะฟะตั€ะธะผะตะฝั‚ะฐะปัŒะฝะฐั ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะบะพะผะฟะธะปัั‚ะพั€ะฐ Zig (zig cc) ะฒ ะบะฐั‡ะตัั‚ะฒะต ะฑัะบะตะฝะดะฐ ะกะธ-ะบะพะผะฟะธะปัั‚ะพั€ะฐ ะฒ Nuitka.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝะฐั ะฟะพะดะดะตั€ะถะบะฐ LTO-ะพะฟั‚ะธะผะธะทะฐั†ะธะน ะฟั€ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ ะบะพะผะฟะธะปัั‚ะพั€ะฐ Clang.
  • ะŸั€ะตะดะปะพะถะตะฝ ะดะตะบะพั€ะฐั‚ะพั€ ยซ@nuitka_ignoreยป ะดะปั ะธัะบะปัŽั‡ะตะฝะธั ะบะพะผะฟะธะปัั†ะธะธ ั„ัƒะฝะบั†ะธะน.
  • ะ ะตะฐะปะธะทะพะฒะฐะฝั‹ ะพะฟั†ะธะธ: ยซโ€”projectยป ะดะปั ัะฑะพั€ะบะธ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฝะฐัั‚ั€ะพะตะบ ะธะท ั„ะฐะนะปะฐ pyproject.toml, ยซโ€”devel-profile-compilationยป ะดะปั ะฟั€ะพั„ะธะปะธั€ะพะฒะฐะฝะธั ะฝะฐ ัั‚ะฐะฟะต ัะฑะพั€ะบะธ, ยซโ€”debug-self-forkingยป ะดะปั ะพั‚ะปะฐะดะบะธ ั„ะพั€ะบ-ะฑะพะผะฑ, ยซโ€”include-windows-runtime-dllsยป ะดะปั ัƒะฟั€ะฐะฒะปะตะฝะธะต ะฒะบะปัŽั‡ะตะฝะธะตะผ C runtime DLL ะฒ Windows, ยซโ€”qt-debug-pluginsยป ะดะปั ะดะธะฐะณะฝะพัั‚ะธะบะธ ะทะฐะณั€ัƒะทะบะธ Qt-ะฟะปะฐะณะธะฝะพะฒ.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฐะบั‚ัƒะฐะปัŒะฝั‹ั… ะฒะตั€ัะธะน ะฟะฐะบะตั‚ะพะฒ oracledb, win32ctypes, dask, dataparser, puremagic, pygments.lexers, tomli, av, sentry_sdk, jedi, parso, line_profiler ะธ pandas.

ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝะพ ะผะพะถะฝะพ ะพั‚ะผะตั‚ะธั‚ัŒ ะพั‚ั‡ั‘ั‚ ะพ ะฟั€ะพะณั€ะตััะต ั€ะฐะทะฒะธั‚ะธั JIT-ะบะพะผะฟะธะปัั‚ะพั€ะฐ ะฒ CPython. ะ ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะธ ะฟะพัั‚ะฐะฒะธะปะธ ะฟะตั€ะตะด ัะพะฑะพะน ั†ะตะปัŒ ะฟะพะดะฝัั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ JIT ะบ ะฒั‹ะฟัƒัะบัƒ CPython 3.15 ะฝะฐ 5%, ะฐ ะบ ะฒั‹ะฟัƒัะบัƒ 3.16 ะฟะพะฒั‹ัะธั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฝะฐ 10% ะธ ั€ะตะฐะปะธะทะพะฒะฐั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั JIT ะฒ ั€ะตะถะธะผะต Free-threading (ะฑะตะท ะณะปะพะฑะฐะปัŒะฝะพะน ะฑะปะพะบะธั€ะพะฒะบะธ). ะ’ ั‚ะตะบัƒั‰ะตะผ ัะพัั‚ะพัะฝะธะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต JIT ะฒ ะฐะปัŒั„ะฐ-ัะฑะพั€ะบะฐั… CPython 3.15 ัƒะถะต ะดะตะผะพะฝัั‚ั€ะธั€ัƒะตั‚ ะฒ ัั€ะตะดะฝะตะผ ัƒัะบะพั€ะตะฝะธะต ะฝะฐ 11-12% ะฝะฐ ะฟะปะฐั‚ั„ะพั€ะผะต macOS AArch64 ะธ ะฝะฐ 5-6% ะฝะฐ ะฟะปะฐั‚ั„ะพั€ะผะต x86_64 Linux ะฟะพ ัั€ะฐะฒะฝะตะฝะธัŽ ัะพ ัั‚ะฐะฝะดะฐั€ั‚ะฝั‹ะผ ะธะฝั‚ะตั€ะฟั€ะตั‚ะฐั‚ะพั€ะพะผ. ะŸั€ะธ ัั‚ะพะผ ะฒ ะพั‚ะดะตะปัŒะฝั‹ั… ั‚ะตัั‚ะฐั… ะฟั€ะธ ะฒะบะปัŽั‡ะตะฝะธะธ JIT ะธะทะผะตะฝะตะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะฒะฐั€ัŒะธั€ัƒะตั‚ัั ะพั‚ ัƒัะบะพั€ะตะฝะธั ะฝะฐ ะฑะพะปะตะต ั‡ะตะผ 100%, ะดะพ ะทะฐะผะตะดะปะตะฝะธั ะฝะฐ 20%.

 เจชเจพเจˆเจฅเจจ เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจจเฉ‚เจ‡เจŸเจ•เจพ 4.0, เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจธเฉ€เจชเฉ€เจฅเจจ เจœเฉ‡เจ†เจˆเจŸเฉ€ เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ—เจคเฉ€


เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹