Nuitka 1.1 -projektista on saatavilla julkaisu, joka kehittää kääntäjää Python-skriptien kääntämiseksi C-esitykseen, joka voidaan sitten kääntää suoritettavaksi tiedostoksi libpythonilla maksimaalisen yhteensopivuuden saavuttamiseksi CPythonin kanssa (käyttäen alkuperäisiä CPython-työkaluja objektien käsittelyyn). Täysi yhteensopivuus Python 2.6, 2.7, 3.3 - 3.10 nykyisten julkaisujen kanssa. CPythoniin verrattuna käännetyt skriptit osoittavat 335 %:n suorituskyvyn parannusta pystone-testeissä. Projektikoodia jaetaan Apache-lisenssillä.
Uuden version muutoksista:
- Mahdollisuuksia konfiguroinnin määrittämiseen Yaml-muodossa on laajennettu.
- Standardikirjaston käyttämättömien komponenttien (zoneinfo, concurrent, asyncio jne.) poissulkemiseen liittyen on tehty optimointeja, jotka mahdollistivat tuloksena olevien suoritettavien tiedostojen koon pienentämisen.
- Lisätty tuki vaihtoehtoiselle syntaksille ("|") kuvioiden vastaavuksissa Python 3.10:ssa käyttöönotetun "match"-operaattorin perusteella.
- Yhteensopivuus jinja2.PackageLoaderin kanssa on taattu.
- Otettu käyttöön mahdollisuus muuttaa __defaults__-attribuutin kokoa.
- Lisätty tuki funktioille importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata ja importlib_metadata.metadata.
- Onefile-kääntämistilaan on lisätty tuki lisäbinääritiedostojen sisällyttämiselle pääsuoritettavaan tiedostoon.
- Käännetyt moduulit toteuttavat mahdollisuuden käyttää importlib.resources.files-funktiota.
- "--include-package-data" -vaihtoehto mahdollistaa tiedostomaskien määrittämisen, esimerkiksi "--include-package-data=package_name=*.txt".
- MacOS-käyttöjärjestelmässä tuki suoritettavien tiedostojen digitaaliselle allekirjoittamiselle on otettu käyttöön.
- Lisäosille tarjotaan menetelmä, joka ohittaa suoritettavan tiedoston toiminnot.
- Anti-bloat-liitännäisen ominaisuuksia on laajennettu, ja sen avulla voidaan nyt vähentää pakettien määrää käytettäessä rich-, pyrect- ja pytorch-kirjastoja. Mahdollisuus käyttää säännöllisiä lausekkeita korvaussäännöissä on otettu käyttöön.
- Viime julkaisussa toteutetuista merkittävistä optimoinneista johtuvat regressiiviset muutokset on ratkaistu.
Lähde: opennet.ru