Nuitka, kääntäjä, joka muuntaa Pythonin C: ksi sekä suorituskyvyn että kannettavamman ajonajan vuoksi, on saavuttanut 0,6-julkaisunsa - virstanpylväs, joka luo pohjan tuleville suorituskyvyn parannuksille. Kuten Nuitkan kehittäjä Kay Hayen sanoi, "Suorituskykyparannukset ovat todennäköisesti jokaisessa tulevassa julkaisussa."
Nuitka 0.6 soveltaa Pythonin optimointeja bool
tyypit (tosi / väärä
), jotta niitä käyttävä koodi voidaan supistaa mahdollisimman tehokkaaksi C-koodiksi. bool
optimoinnit ovat alkusoitto samanlaisille optimoinnille muille muuttujatyypeille.
Nuitka, kuten Cython, kääntää Python-ohjelman C: hen ja linkittää tuloksena olevan suoritettavan Python-ajonaikaan parhaan yhteensopivuuden saavuttamiseksi. Python-versiot 2.6, 2.7 ja 3.3 - 3.7 ovat kaikki tuettuja, mukaan lukien rakenteet asynkronoitu
.
Nuitkalla kootut Python-ohjelmat voivat hyötyä suurista suorituskyvyn parannuksista. Hayen väittää, että Pystone-vertailuarvon Nuitkan kokoama versio toimii noin 312 prosenttia nopeammin kuin perinteinen CPython-toteutus.
Mutta Hayen varoittaa, että merkittävimmät suorituskyvyn parannukset odottavat tyyppijohdon päättymistä Nuitkaan, mikä mahdollistaa tietyntyyppisten Python-objektien täydellisen kääntämisen alkuperäisiin C-versioihin.
Pythonin dynaamisuus vaikeuttaa monenlaisia optimointeja. Monet Cython-optimoinnit vaativat paljon opastusta ja erikoistunun merkintäsyntaksin parhaan tuloksen saavuttamiseksi. Nuitka-projektin tavoitteena on tarjota samanlaisia optimointeja vaatimatta kehittäjää merkitsemään koodia.
Toinen yleisesti käytetty Python-kiihdytin, PyPy, toimii kääntämällä Python-koodi juuri oikeaan aikaan kokoonpanoon. Mutta PyPy toimii parhaiten paikan optimoinnissa; se ei sovi sellaisen Python-sovelluksen kokoamiseen, joka on asennettu itsenäisesti. Nuitka tuottaa erillisiä suoritettavia tiedostoja. Yksi sen mahdollisista käyttötapauksista on Python-sovelluksen pakkaaminen kolmannen osapuolen jakelua varten.
Muita Nuitka 0.6: n parannuksia ovat Windows-tuki Clang-, Microsoft Visual C ++- ja Cygwin-kääntäjille, objektitiedostojen välimuistiin tallentaminen nopeammin (uudelleen Windowsissa) ja luodun C-koodin automaattinen muotoiluclang-muodossa
luettavuuden kannalta.