Pyston-lite introductus, a JIT compilator Pythonis indigenae

Tincimenta de project Pyston, quod summus perficientur exsecutionem linguae Pythonis utens technologiarum JIT recentiorum compilationem, obtulit Pyston-littem extensionem cum exsecutione compilatoris JIT pro CPython. Dum Pyston ramus est codicis CPythonis et seorsim evolvitur, Pyston-liteus designatus est extensio universalis designata ad vexillum Pythonis interpretis (CPython).

Pyston-lite te permittit uti technologiae fundamentales Pyston, non mutato interprete, insertis adiectis extensionibus utendo PIP vel Conda involucrum procuratoris. Pyston-litta iam in repositoria PyPI et Conda hosted est et ut eam instituam, solum mandatum "pip institue pyston_lite_autoload" vel "conda install pyston_lite_autoload -c pyston". Duae fasciculi exhibentur: pyston_lite (recta JIT) et pyston_lite_autoload (facit latis JIT substitutionem cum processus Pythonis incipit). Potest etiam programmatice moderari inclusionem JIT ab applicatione sine moduli autoloadii inauguratione, functioni pyston_lite.enable() adhibito.

Quamvis Pyston-litta non omnes optimizationes quas in Pyston comprehendit, usus eius per 10-25% circiter ad regularem Pythonem comparatus emendare potest. In posterum cogitavit de optimizationibus quae in Pyston ad Pyston-littam sunt transferre, tum etiam CPython (prima emissio subsidia Pythonis 3.8). Plura consilia globalia includunt cooperationem cum quadrigis CPythonis ad novum APIs deducendum ad JIT, opera Pythonis pleniorem potestatem permittens. Inclusio mutationum propositarum in Pythone 3.8 ramus agitur. Specimen, facultatem movendi omnem functionem a Pyston in extensionem consideratur, quae nos permittit vitare furca nostra CPython conservanda.

Praeter Pyston-lite, consilium etiam renovationem dimisit ad Pyston 2.3.4 sarcina plena, quae novas optimizationes offert. In test pyperformantia, versio 2.3.4 velocior est quam emissio 2.3.3 per circiter 6%. Lucrum universale perficiendi cum CPython comparato 66% aestimatur.

Praeterea notare possumus optimizationes quae intra CPython 3.11 cycli evolutionis evolutae sunt in praecipuo incepto, quod in nonnullis probationibus efficere potuit ut 25% augeretur. Exempli gratia, in CPython 3.11, efficientia caching bytecode status modulorum fundamentalium auctus est, qui scriptorum 10-15% deductionem accelerabit. Munus vocat significanter acceleratum et specialem celerem interpretes operationum normarum additae sunt. Opus etiam comparatum est ad portum nonnullas optimizations a Cinder et HotPy inceptis praeparatas.

Accedit, intra consilium nogil, opus in modum experimentalem ad construendum CPython sine cincinno interprete globali (GIL, Global Interpres Lock), qui non patitur aditum parallelum ad objecta e filis diversis communibus, quae impedire parallelizationem operationum in multi. -core systemata. Ut alia solutio quaestionis GIL, facultas ligandi separatum GIL unicuique interpreti in processu currenti augetur (plures interpretes in uno processu currere possunt, sed efficacia eorum parallelae exsecutionis ab GIL pendent).

Source: opennet.ru