Die Veröffentlichung des Projekts Nuitka 0.6.17 steht zur Verfügung. Dieses Projekt entwickelt einen Compiler, der Skripte in Python in eine C++-Darstellung übersetzt, die anschließend in eine ausführbare Datei kompiliert werden kann. Diese verwendet libpython, um maximale Kompatibilität mit CPython zu gewährleisten (es kommen die nativen Werkzeuge von CPython zur Objektverwaltung zum Einsatz). Vollständige Kompatibilität mit den aktuellen Versionen von Python 2.6, 2.7, 3.3 — 3.9 ist sichergestellt. Im Vergleich zu CPython zeigen die kompilierten Skripte in den pystone-Tests eine Leistungssteigerung von 335 %. Der Code des Projekts wird unter der Apache-Lizenz verbreitet.
In der neuen Version wurde experimentelle Unterstützung für die Optimierung basierend auf den Ergebnissen der Code-Profilierung (PGO – Profile-guided optimization) hinzugefügt, die es ermöglicht, zur Laufzeit spezifische Eigenschaften der Anwendung zu berücksichtigen. Die Optimierung ist derzeit nur auf Code anwendbar, der mit GCC kompiliert wird. Für Plugins besteht die Möglichkeit, Ressourcen während der Kompilierung anzufordern (pkg_resources.require). Die Funktionen des Anti-Bloat-Plugins wurden erheblich erweitert, sodass es nun für die Reduzierung der Anzahl von Paketen bei der Verwendung von Bibliotheken wie numpy, scipy, skimage, pywt und matplotlib eingesetzt werden kann, einschließlich der Möglichkeit, überflüssige Funktionen auszuschließen und notwendigen Code von Funktionen während des Parsens zu ersetzen. Der Code, der mit Mehrfachverarbeitung, der Erstellung von Klassen, der Attributprüfung und dem Methodenaufruf verbunden ist, wurde optimiert. Die Durchführung von Operationen mit den Typen bytes, str und list wurde beschleunigt.
Quelle: opennet.ru
