Programiranje

Prevajalnik Nuitka Python-to-C pripravi velik napredek v zmogljivosti

Nuitka, prevajalnik, ki Python pretvori v C zaradi povečanja zmogljivosti in bolj prenosnega delovanja, je dosegel svojo izdajo 0,6 - mejnik, ki postavlja temelje za prihodnje povečanje učinkovitosti. Kot je dejal razvijalec Nuitke Kay Hayen, "bodo izboljšave zmogljivosti verjetno v vsaki prihodnji izdaji."

Nuitka 0.6 uporablja optimizacije za Python bool vrste (pravilno napačno), tako da se lahko koda, ki jih uporablja, zmanjša na najučinkovitejšo možno kodo C. The bool optimizacije so uvod v podobne optimizacije za druge tipe spremenljivk.

Nuitka, tako kot Cython, prevede program Python na C in nastalo izvršljivo datoteko poveže z izvajalnim programom Python za največjo združljivost. Podprte so različice Python 2.6, 2.7 in 3.3 do 3.7, vključno s konstrukcijami, kot so asinh.

Programi Python, sestavljeni z Nuitko, lahko koristijo velikemu povečanju zmogljivosti. Hayen trdi, da različica primerjalne vrednosti Pystone, sestavljena iz Nuitke, deluje približno 312 odstotkov hitreje kot običajna izvedba CPythona.

Toda Hayen opozarja, da najpomembnejše izboljšave zmogljivosti čakajo na vnos vhodnih tipov v Nuitki, ki omogoča popoln prevod nekaterih vrst objektov Python v izvorne različice C.

Pythonova dinamičnost že samo po sebi otežuje številne vrste optimizacij. Številne optimizacije Cython zahtevajo veliko napotkov in posebno sintakso pripisov za najboljše rezultate. Namen projekta Nuitka je zagotoviti enake vrste optimizacij, ne da bi od razvijalca zahtevali, da kodo označi.

Drug pogosto uporabljani Pythonov pospeševalnik, PyPy, deluje tako, da pravočasno prevede kodo Pythona v sestavljanje. Toda PyPy deluje najbolje za optimizacijo na mestu; ni primeren za sestavljanje aplikacije Python, ki je uvedena samostojno. Nuitka ustvarja samostojne izvedljive datoteke. Eden od možnih primerov uporabe je pakiranje aplikacije Python za distribucijo tretjih oseb.

Druge izboljšave v Nuitki 0.6 vključujejo podporo v sistemu Windows za prevajalnike Clang, Microsoft Visual C ++ in Cygwin, predpomnjenje predmetnih datotek za hitrejšo prenovo (spet v sistemu Windows) in samodejno formatiranje ustvarjene C kode vclang-format za berljivost.

$config[zx-auto] not found$config[zx-overlay] not found