āĻĒāĻžāχāĻĨāύ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āύ⧁āχāϟāĻ•āĻž ā§Ē.ā§Ļ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āϏāĻŋāĻĒāĻŋāĻĨāύ āĻœā§‡āφāχāϟāĻŋ āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋāĨ¤

Nuitka 4.0 āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻāĻ•āϟāĻŋ āϰāĻŋāϞāĻŋāϜ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ, āϝāĻž āĻĒāĻžāχāĻĨāύ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻŋ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϝāĻŧ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰ⧇, āϝāĻž CPython āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻ°ā§āĻŦāĻžāϧāĻŋāĻ• āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ⧇āϰ āϜāĻ¨ā§āϝ libpython āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻŸā§‡āĻŦāϞ āĻĢāĻžāχāϞ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (āĻŦāĻ¸ā§āϤ⧁ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āϜāĻ¨ā§āϝ āύ⧇āϟāĻŋāĻ­ CPython āϟ⧁āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇)āĨ¤ Python 2.6, 2.7, 3.4 - 3.13 āĻāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϰāĻŋāϞāĻŋāĻœā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ CPython āĻāϰ āϤ⧁āϞāύāĻžāϝāĻŧ, āϏāĻ‚āĻ•āϞāĻŋāϤ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋ āĻĒāĻžāχāĻ¸ā§āĻŸā§‹āύ āĻĒāϰ⧀āĻ•ā§āώāĻžāϝāĻŧ 335% āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϕ⧋āĻĄ Apache āϞāĻžāχāϏ⧇āĻ¨ā§āϏ⧇āϰ āĻ…āϧ⧀āύ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āύāϤ⧁āύ āĻŦāĻŋāĻļā§āĻŦ⧇:

  • ВĐŊĐĩҁĐĩĐŊŅ‹ иСĐŧĐĩĐŊĐĩĐŊĐ¸Ņ Đ´ĐģŅ ҃ĐģŅƒŅ‡ŅˆĐĩĐŊĐ¸Ņ ŅĐžĐ˛ĐŧĐĩŅŅ‚Đ¸ĐŧĐžŅŅ‚Đ¸ ҁ 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%.

 āĻĒāĻžāχāĻĨāύ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āύ⧁āχāϟāĻ•āĻž ā§Ē.ā§Ļ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āϏāĻŋāĻĒāĻŋāĻĨāύ āĻœā§‡āφāχāϟāĻŋ āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋāĨ¤


āωāĻ¤ā§āϏ: opennet.ru

āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϜ⧁āĻĄāĻŧ⧁āύ