Rilis Nuitka 2.0, compiler kanggo basa Python

Rilis proyek Nuitka 2.0 kasedhiya, ngembangake kompiler kanggo nerjemahake skrip Python menyang perwakilan C, sing banjur bisa dikompilasi dadi file eksekusi nggunakake libpython kanggo kompatibilitas maksimal karo CPython (nggunakake alat CPython asli kanggo obyek manipulasi). Nyedhiyakake kompatibilitas lengkap karo rilis saiki Python 2.6, 2.7, 3.3 - 3.11. Dibandhingake karo CPython, skrip sing disusun nuduhake peningkatan kinerja 335% ing tes pystone. Kode proyek disebarake miturut lisensi Apache.

Antarane owah-owahan ing versi anyar:

  • Nambahake kemampuan kanggo nggunakake variabel ing konfigurasi paket, ngidini sampeyan nggoleki nilai saka paket sing diinstal ing wektu kompilasi lan nggunakake nilai kasebut kanggo nemtokake backend. Dhukungan kanggo variabel ing konfigurasi ngidini sampeyan ngatasi akeh tugas kanthi cara standar sing sadurunge mbutuhake plugin nyambungake.
  • Dhukungan ditambahake kanggo paramΓ¨ter sing ditemtokake pangguna kanggo pengaruhe konfigurasi saben paket. Parameter bisa diwaca nggunakake fungsi get_parameter anyar lan digunakake kanggo milih prilaku modul (contone, sampeyan bisa nyetel parameter kanggo mateni Numba JIT utawa Torch JIT).
  • Opsi ditambahake "--include-onefile-external-data" kanggo nemtokake cithakan file data sing ditetepake ing konfigurasi nanging kudu diwenehake kanthi kapisah saka file eksekusi nalika mbangun ing mode sijifile.
  • Nambahake pilihan "--cf-protection" kanggo nyetel mode proteksi CFI (Control Flow Integrity) ing GCC, sing ngalangi pelanggaran urutan eksekusi normal (aliran kontrol).
  • Kanggo file yaml plugin, kemampuan kanggo nggawe checksums kanggo mriksa integritas wis dileksanakake, sing ing mangsa ngarep bakal digunakake kanggo ngatur verifikasi run-time.
  • Tumindak ngidini macem-macem opsi bisa ditemtokake, dipisahake dening garis (baris anyar digunakake minangka delimiter). Contone: kalebu-data-dir: | a=bc=d
  • Analisis jinis loop wis dileksanakake, sing bakal digunakake ing mangsa ngarep kanggo ngleksanakake optimasi selektif.
  • Nambahake optimasi kanggo nyepetake karya karo variabel sing ora dienggo bareng lan lolos.
  • Kapabilitas plugin anti-bloat wis ditambahi, sing saiki bisa digunakake kanggo nyuda jumlah paket nalika nggunakake streamlit, obor, knetworkx, disebarake, skimage, bitsandbytes, tf_keras, pip, networkx lan perpustakaan pywt (utamane, ngiket. kanggo pytest, IPython, irung, triton ora kalebu lan dask).

Source: opennet.ru

Add a comment