Release fan Nuitka 2.0, in kompilator foar de Python-taal

In release fan it Nuitka 2.0-projekt is beskikber, it ûntwikkeljen fan in kompilator foar it oersetten fan Python-skripts yn in C-fertsjintwurdiging, dy't dan kin wurde kompilearre yn in útfierber bestân mei libpython foar maksimale kompatibiliteit mei CPython (brûkende native CPython-ark foar it manipulearjen fan objekten). Levere folsleine kompatibiliteit mei aktuele releases fan Python 2.6, 2.7, 3.3 - 3.11. Yn ferliking mei CPython litte kompilearre skripts in 335% prestaasjesferbettering sjen yn pystone-tests. De projektkoade wurdt ferspraat ûnder de Apache-lisinsje.

Under de feroarings yn 'e nije ferzje:

  • De mooglikheid tafoege om fariabelen te brûken yn pakketkonfiguraasje, wêrtroch jo wearden kinne opfreegje fan ynstalleare pakketten op 'e tiid kompilearje en dy wearden brûke om de backend te definiearjen. Stipe foar fariabelen yn 'e konfiguraasje kinne jo in protte taken oplosse op standert wizen dy't earder ferbinende plugins nedich hawwe.
  • Stipe tafoege foar brûker-definieare parameters om de konfiguraasje fan elk pakket te beynfloedzjen. Parameters kinne lêzen wurde mei de nije get_parameter-funksje en brûkt om it gedrach fan modules te selektearjen (Jo kinne bygelyks in parameter ynstelle om Numba JIT of Torch JIT út te skeakeljen).
  • Tafoege opsje "--include-onefile-external-data" om gegevensbestânsjabloanen oan te jaan dy't definieare binne yn 'e konfiguraasje, mar moatte apart wurde levere fan it útfierbere bestân by it bouwen yn ienbestânmodus.
  • De opsje "--cf-beskerming" tafoege om de beskermingsmodus CFI (Control Flow Integrity) yn te stellen yn GCC, dy't oertredings fan 'e normale útfieringsopdracht (kontrôlestream) blokkearret.
  • Foar plugin yaml-bestannen is de mooglikheid om kontrôlesummen te meitsjen foar yntegriteitskontrôles, dy't se yn 'e takomst fan plan binne te brûken om run-time-ferifikaasje te organisearjen.
  • Aksjes kinne meardere opsjes oantsjutte wurde, skieden troch rigels (in nije rigel wurdt brûkt as skiedingsteken). Bygelyks: include-data-dir: | a=bc=d
  • In analyze fan looptypen is ymplementearre, dy't yn 'e takomst brûkt wurde sil om selektive optimalisaasjes út te fieren.
  • Optimisaasjes tafoege om wurk te fersnellen mei net-dielde en ûntsnapte fariabelen.
  • De mooglikheden fan 'e anty-bloat-plugin binne útwreide, dy't no kinne wurde brûkt om it oantal pakketten te ferminderjen by it brûken fan de streamlit, fakkel, knetworkx, distribuearre, skimage, bitsandbytes, tf_keras, pip, networkx en pywt-biblioteken (yn prinsipe, binend to pytest, IPython, noas, triton is útsletten en dask).

Boarne: opennet.ru

Add a comment