Python-Compiler Nuitka 1.0 verspricht mehr Tempo

Der in Python geschriebene Python-Compiler Nuitka soll in Version 1.0 Performance-Vorteile durch verbessertes Speichermanagement liefern.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: Shutterstock)

Von
  • Matthias Parbel

Das Team rund um Nuitka-Entwickler Kay Hayen hat Version 1.0 des Python-Compilers fertiggestellt. In das neueste Release sind zahlreiche Bugfixes eingeflossen. Der Fokus lag laut Ankündigung aber auf Verbesserungen, die zu höherer Skalierbarkeit und Performance beitragen sollen – beispielsweise durch ein optimiertes Speichermanagement.

Verkürzte Kompilierzeiten innerhalb von Nuitka und ein geringerer Speicherverbrauch sollen dem Python-Compiler insbesondere bei größeren Kompilieraufgaben mehr Geschwindigkeit verleihen. Dem Blogbeitrag zufolge habe das Team die Skalierbarkeit unter anderem durch das Vermeiden von Merge Traces initialer Variablen erzielt, die beim Zusammenführen einer Variablen auftraten, die nur in einem Branch verwendet wurde.

Darüber hinaus haben sich die Nuitka-Entwickler intensiv Plug-ins und der YAML-Konfiguration gewidmet. So soll etwa das Bereinigen einiger DLL-Konfigurationen eine leichtere Benutzung ermöglichen. Die Dokumentation rund um die YAML-Konfiguration gilt allerdings nach wie vor als unvollständig. Unter anderem fehle es an Beispielen, die die Community in die Lage versetzen, fehlende Abhängigkeiten, Datendateien, DLLs oder auch Anti-Bloat-Patches zu ergänzen. Daher wurde beispielsweise auch die auf von Nutzerinnen und Nutzern bereitgestellte YAML-Dateien zugeschnittene Option --user-package-configuration-file neu hinzugefügt. Mit dieser Option soll sich Nuitka eine Package-Konfiguration übergeben lassen, die das Ergänzen von DLLs oder Dateien ermöglicht.

Der in Python geschriebene Python-Compiler Nuitka ist zu den meisten noch aktuellen Python-Versionen (2.6 und 2.7, 3.3 bis 3.10) kompatibel und lässt sich auf nahezu allen Plattformen einsetzen, auf denen auch Python zum Einsatz kommt. Nuitka erstellt ausführbare Dateien, die ohne ein separates Installationsprogramm auskommen. Ergänzende Daten lassen sich wahlweise direkt einbinden oder auch als Dateien beifügen. Als Ersatz oder ergänzend zum Python-Interpreter kompiliert Nuitka sämtliche in der Referenzimplementierung CPython vorhandenen Konstrukte – verspricht dabei aber höheres Tempo.

Nuitka steht in einer quelloffenen Variante unter Apache-2.0-Lizenz auf GitHub zur Verfügung. Entwicklerinnen und Entwickler, die im kommerziellen Umfeld besondere Anforderungen etwa im Hinblick auf den Schutz ihres geistigen Eigentums (Intellectual Property – IP) haben, können alternativ auf eine kostenpflichtige Nuitka-Edition zurückgreifen. Zu Gebühren ab 250 Euro pro Jahr bietet diese Version über ergänzende Plug-ins hinaus unter anderem gezielten Schutz für den Sourcecode und etwaige in die Applikation eingebundene Daten.

Wer sich intensiver mit dem Python-Compiler auseinandersetzen möchte, der findet vertiefende Einblicke in einer Livestream-Serie von Nuitka-Entwickler Hayen auf YouTube. In der Aufzeichnung eines Vortrages zur PyConDE 2011 erläutert Hayen zudem seine ursprüngliche Motivation für das Entwickeln des Python-Compilers.

Einen detaillierten Überblick aller Änderungen und neuen Funktionen in Nuitka 1.0 fasst derweil der Blogbeitrag zur Ankündigung des Release zusammen.

(map)