Pyston-lite, Python เชธเซเชŸเซ‹เช• เชฎเชพเชŸเซ‡ JIT เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚

เชชเชพเชฏเชธเซเชŸเซ‹เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“, เชœเซ‡ เช†เชงเซเชจเชฟเช• JIT เชธเช‚เช•เชฒเชจ เชคเช•เชจเซ€เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชญเชพเชทเชพเชจเชพ เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เช“เช CPython เชฎเชพเชŸเซ‡ JIT เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡ Pyston-lite เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฐเชœเซ‚ เช•เชฐเซเชฏเซเช‚. เชœเซเชฏเชพเชฐเซ‡ เชชเชพเชฏเชธเซเชŸเซ‹เชจ CPython เช•เซ‹เชกเชฌเซ‡เชเชจเซ€ เชเช• เชถเชพเช–เชพ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เชฒเช—เชฅเซ€ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ Pyston-lite เชจเซ‡ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก Python เช‡เชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ (CPython) เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชคเชฐเซ€เช•เซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.

Pyston-lite เชคเชฎเชจเซ‡ PIP เช…เชฅเชตเชพ Conda เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชจเซ‡, เชฆเซเชญเชพเชทเชฟเชฏเชพเชจเซ‡ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เชฎเซ‚เชณเชญเซ‚เชค เชชเชพเชฏเชธเซเชŸเชจ เชคเช•เชจเซ€เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. PyPI เช…เชจเซ‡ Conda เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชฎเชพเช‚ Pyston-lite เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชนเซ‹เชธเซเชŸ เช•เชฐเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค "pip install pyston_lite_autoload" เช…เชฅเชตเชพ "conda install pyston_lite_autoload -c pyston" เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹. เชฌเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: pyston_lite (เชธเซ€เชงเชพ JIT) เช…เชจเซ‡ pyston_lite_autoload (เชœเซเชฏเชพเชฐเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช†เชชเซ‹เช†เชช JIT เช…เชตเซ‡เชœเซ€ เช•เชฐเซ‡ เช›เซ‡). pyston_lite.enable() เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‘เชŸเซ‹เชฒเซ‹เชก เชฎเซ‹เชกเซเชฏเซเชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚เชฅเซ€ JIT เชจเชพ เชธเชฎเชพเชตเซ‡เชถเชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซ‡เชŸเชฟเช• เชฐเซ€เชคเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเซเช‚ เชชเชฃ เชถเช•เซเชฏ เช›เซ‡.

เชœเซ‹ เช•เซ‡ Pyston-lite Pyston เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชคเชฎเชพเชฎ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชคเซเช‚ เชจเชฅเซ€, เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจเชฟเชฏเชฎเชฟเชค Python 10 เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เชฒเช—เชญเช— 25-3.8% เชœเซ‡เชŸเชฒเซ‹ เชชเซเชฐเชญเชพเชต เชธเซเชงเชพเชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚, เชชเชพเชฏเชธเซเชŸเซ‹เชจเชฎเชพเช‚ เชนเชพเชœเชฐ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชชเชพเชฏเชธเซเชŸเซ‹เชจ-เชฒเชพเช‡เชŸเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชคเซ‡เชฎเชœ CPython เชจเชพ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชตเชฐเซเชเชจเชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ (เชชเซเชฐเชฅเชฎ เชฐเชฟเชฒเซ€เช เชฎเชพเชคเซเชฐ เชชเชพเชฏเชฅเซ‹เชจ 3.8เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡). เชตเชงเซ เชตเซˆเชถเซเชตเชฟเช• เชฏเซ‹เชœเชจเชพเช“เชฎเชพเช‚ JIT เชฎเชพเชŸเซ‡ เชจเชตเชพ API เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ CPython เชŸเซ€เชฎ เชธเชพเชฅเซ‡ เชธเชนเชฏเซ‹เช—เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ Pythonเชจเชพ เช•เชพเชฐเซเชฏ เชชเชฐ เชตเชงเซ เชธเช‚เชชเซ‚เชฐเซเชฃ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชชเชพเชฏเชฅเซ‹เชจ 3.12 เชถเชพเช–เชพเชฎเชพเช‚ เชธเซ‚เชšเชฟเชค เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเชพ เชธเชฎเชพเชตเซ‡เชถ เช…เช‚เช—เซ‡ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡. เช†เชฆเชฐเซเชถเชฐเซ€เชคเซ‡, เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชชเชพเชฏเชธเซเชŸเชจเชฎเชพเช‚เชฅเซ€ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡, เชœเซ‡ เช†เชชเชฃเชจเซ‡ เช†เชชเชฃเชพ เชชเซ‹เชคเชพเชจเชพ CPython เชซเซ‹เชฐเซเช•เชจเซ‡ เชœเชพเชณเชตเชตเชพเชจเซเช‚ เชŸเชพเชณเชตเชพ เชฆเซ‡เชถเซ‡.

Pyston-lite เช‰เชชเชฐเชพเช‚เชค, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเช•เซเชค Pyston 2.3.4 เชชเซ‡เช•เซ‡เชœ เชฎเชพเชŸเซ‡ เช…เชชเชกเซ‡เชŸ เชชเชฃ เชฌเชนเชพเชฐ เชชเชพเชกเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชจเชตเชพ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เช‘เชซเชฐ เช•เชฐเซ‡ เช›เซ‡. เชชเชฐเชซเซ‹เชฐเซเชฎเชจเซเชธ เชŸเซ‡เชธเซเชŸเชฎเชพเช‚, เชตเชฐเซเชเชจ 2.3.4 เช เชฐเชฟเชฒเซ€เช 2.3.3 เช•เชฐเชคเชพเช‚ เชฒเช—เชญเช— 6% เชตเชงเซ เชเชกเชชเซ€ เช›เซ‡. CPython เชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชเช•เช‚เชฆเชฐ เชชเชฐเชซเซ‹เชฐเซเชฎเชจเซเชธ เช—เซ‡เช‡เชจ 66% เชนเซ‹เชตเชพเชจเซ‹ เช…เช‚เชฆเชพเชœ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ CPython 3.11 เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชธเชพเช‡เช•เชฒเชฎเชพเช‚ เชตเชฟเช•เชธเชฟเชค เชฅเชฏเซ‡เชฒเชพ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชจเซ‹เช‚เชงเซ€ เชถเช•เซ€เช เช›เซ€เช, เชœเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชฎเชพเช‚ 25% เชฆเซเชตเชพเชฐเชพ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, CPython 3.11 เชฎเชพเช‚, เชฎเซ‚เชณเชญเซ‚เชค เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ€ เชฌเชพเชฏเชŸเซ‡เช•เซ‹เชก เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เช•เซ‡เชถ เช•เชฐเชตเชพเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชตเชงเชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ 10-15% เชฆเซเชตเชพเชฐเชพ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเชพ เชฒเซ‹เชจเซเชšเชฟเช‚เช—เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชถเซ‡. เชซเช‚เช•เซเชถเชจ เช•เซ‹เชฒเซเชธ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เชตเชฟเชถเชฟเชทเซเชŸ เชเชกเชชเซ€ เชฆเซเชญเชพเชทเชฟเชฏเชพ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. Cinder เช…เชจเซ‡ HotPy เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฆเซเชตเชพเชฐเชพ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เช•เซ‡เชŸเชฒเชพเช• เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เช•เชพเชฎ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, เชจเซ‹เช—เชฟเชฒ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เช‚เชฆเชฐ, เชตเซˆเชถเซเชตเชฟเช• เชฆเซเชญเชพเชทเชฟเชฏเชพ เชฒเซ‰เช• (GIL, เช—เซเชฒเซ‹เชฌเชฒ เช‡เชจเซเชŸเชฐเชชเซเชฐเชฟเชŸเชฐ เชฒเซ‰เช•) เชตเชฟเชจเชพ CPython เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เชฎเซ‹เชก เชชเชฐ เช•เชพเชฎ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชตเชฟเชตเชฟเชง เชฅเซเชฐเซ‡เชกเซ‹เชฎเชพเช‚เชฅเซ€ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชธเชฎเชพเช‚เชคเชฐ เชเช•เซเชธเซ‡เชธเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€, เชœเซ‡ เชฎเชฒเซเชŸเซ€ เชชเชฐ เช‘เชชเชฐเซ‡เชถเชจเชจเชพ เชธเชฎเชพเช‚เชคเชฐเซ€เช•เชฐเชฃเชจเซ‡ เช…เชŸเช•เชพเชตเซ‡ เช›เซ‡. - เชฎเซเช–เซเชฏ เชธเชฟเชธเซเชŸเชฎเซ‹. GIL เชธเชฎเชธเซเชฏเชพเชจเชพ เช…เชจเซเชฏ เช‰เช•เซ‡เชฒ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชšเชพเชฒเชคเชพ เชฆเชฐเซ‡เช• เชฆเซเชญเชพเชทเชฟเชฏเชพเชจเซ‡ เช…เชฒเช— GIL เชฌเชพเช‚เชงเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡ (เช•เซ‡เชŸเชฒเชพเช• เชฆเซเชญเชพเชทเชฟเชฏเชพ เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชšเชพเชฒเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเซ€ เชธเชฎเชพเช‚เชคเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ GIL เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡).

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹