Nuitka, en kompilator, der omdanner Python til C af hensyn til både præstationsgevinster og en mere bærbar driftstid, har nået sin udgivelse på 0,6 - en milepæl, der lægger grunden til fremtidige præstationsgevinster. Som Nuitka-udvikleren Kay Hayen udtrykte det: "Ydeevneforbedringer er sandsynligvis i hver kommende udgivelse."
Nuitka 0.6 anvender optimeringer til Pythons bool
typer (sandt falsk
), så koden, der bruger dem, kan reduceres til den mest effektive C-kode. Det bool
optimeringer kommer som et optakt til lignende optimeringer for andre variable typer.
Nuitka, som Cython, kompilerer et Python-program til C og forbinder den resulterende eksekverbare med Python-runtime for maksimal kompatibilitet. Python version 2.6, 2.7 og 3.3 til 3.7 understøttes alle, inklusive konstruktioner som asynkronisering
.
Python-programmer, der er kompileret med Nuitka, kan drage fordel af store ydeevneforøgelser. Hayen hævder, at en Nuitka-kompileret version af Pystone-benchmark kører omkring 312 procent hurtigere end en konventionel CPython-implementering.
Men Hayen advarer om, at de mest betydningsfulde præstationsforbedringer afventer ankomsten af typen inferencing i Nuitka, hvilket muliggør fuld oversættelse af visse typer Python-objekter til native C-versioner.
Pythons dynamik gør mange slags optimeringer iboende vanskelige. Mange Cython-optimeringer kræver en hel del vejledning og en speciel kommentarsyntaks for de bedste resultater. Nuitka-projektet sigter mod at give de samme slags optimeringer uden at kræve, at udvikleren kommenterer koden.
En anden almindeligt anvendt Python-accelerator, PyPy, fungerer ved just-in-time at kompilere Python-kode til samling. Men PyPy fungerer bedst til optimering på stedet; det er ikke egnet til at kompilere en Python-app, der er distribueret på en enkeltstående måde. Nuitka genererer enkeltstående eksekverbare filer. Et af dets potentielle brugssager er at pakke en Python-app til tredjepartsdistribution.
Andre forbedringer i Nuitka 0.6 inkluderer understøttelse af Windows til Clang, Microsoft Visual C ++ og Cygwin-kompilatorer, caching af objektfiler til hurtigere kompilering (igen på Windows) og automatisk formatering af genereret C-kode iclang-format
for læsbarhed.