Компилаторът Nuitka Python-to-C подготвя големи печалби в производителността

Nuitka, компилатор, който трансформира Python в C, както за повишаване на производителността, така и за по-преносимо време на изпълнение, достигна своята версия 0.6 - крайъгълен камък, който поставя основите за бъдещи подобрения в производителността. Както заяви разработчикът на Nuitka Кей Хайен, „Подобрения в производителността са вероятно във всяко следващо издание.“

Nuitka 0.6 прилага оптимизации за boolтиповете на Python ( true/false), така че кодът, който ги използва, може да бъде намален до възможно най-ефективния C код. На boolоптимизации идват като прелюдия към подобни оптимизации за други видове променливи.

Nuitka, подобно на Cython, компилира програма на Python към C и свързва резултантния изпълним файл с Pyton изпълнението за максимална съвместимост. Поддържат се всички версии на Python 2.6, 2.7 и 3.3 до 3.7, включително конструкции като async.

Програмите на Python, съставени с Nuitka, могат да се възползват от големи увеличения на производителността. Hayen твърди, че компилирана от Nuitka версия на бенчмарка Pystone работи с около 312 процента по-бързо от конвенционалното внедряване на CPython.

Но Hayen предупреждава, че най-значителните подобрения на производителността очакват пристигането на типово инфериране в Nuitka, което позволява пълния превод на определени типове обекти на Python в родните версии на C.

Динамичността на Python затруднява много видове оптимизации по своята същност. Много оптимизации на Cython изискват много насоки и специализиран синтаксис за анотиране за най-добри резултати. Проектът Nuitka има за цел да осигури същите видове оптимизации, без да изисква от разработчика да коментира кода.

Друг често използван ускорител на Python, PyPy, работи чрез компилиране на Python код точно навреме за сглобяване. Но PyPy работи най-добре за оптимизация на място; не е подходящ за компилиране на приложение на Python, което е внедрено самостоятелно. Nuitka генерира самостоятелни изпълними файлове. Един от възможните му случаи на използване е опаковането на приложение на Python за разпространение на трети страни.

Други подобрения в Nuitka 0.6 включват поддръжка на Windows за компилаторите Clang, Microsoft Visual C ++ и Cygwin, кеширане на обектни файлове за по-бърза рекомпилация (отново за Windows) и автоматично форматиране на генерирания C код  clang-formatза четливост.