The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Nuitka 0.5.9, компилятора для языка Python

25.02.2015 14:50

Представлен новый выпуск проекта Nuitka, в рамках которого развивается компилятор, позволяющий транслировать скрипт на языке Python в представление на C++, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с Python 2.6, 2.7, 3.2, 3.3 и 3.4. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 258%. Код проекта распространяется под лицензией Apache.

В новой версии:

  • Оптимизации:
    • Встроенная функция getattr оптимизируется во время компиляции;
    • При вызовах PyCFunction не происходит построения кортежа (tuple) для вызова функции без параметра или с одним параметром;
  • Работа над ошибками:
    • Совместимость. Проверки итераторов осуществлялись при помощи PyIter_Check, которая работает неправильно за пределами ядра python-интерпретатора. Теперь проверка осуществляется при помощи helper'a HAS_ITERNEXT, который сравнивает извлеченные (real non-iterator) указатели на объекты.
    • Python3. Ошибка при создании словарей классов при вызове __prepare__;
    • Генерация исполнимых файлов для OS X. Разделяемые библиотеки и модули расширения не обновляли пути для загрузки своих разделяемых библиотек;
    • Генерация исполнимых файлов для Linux. Разделяемые библиотеки копировались в подкаталог .dist, доступный только для чтения, что потенциально мешало исполнению chrpath;
    • Генерация исполнимых файлов. При "заморозке" (freezing) стандартной библиотеки пути к компилятору Nuitka и текущая директория оставались в переменной текущих путей, что могло привести к использованию неправильных файлов.
  • Новые возможности
    • Добавлена опция "--recurse-pattern" для указания модулей по именам файлов, что для Python3 единственный способ указать только необходимые модули в пакете (а не все);
    • Добавлена опция "--generate-c++-only" для только перегенерации исходных текстов (без запуска компилятора);
    • Опция "--с++-only" переименована в "--recompile-c++-only" для перекомпиляции исходных текстов;
  • Тестирование
    • Добавлена поддержка тестов покрытия (code coverage tests) результатов работы на определенном тестовом входном файле и на всём наборе тестов;
    • Добавлено уведомление о пропущенных тестах.


  1. Главная ссылка к новости (http://nuitka.net/posts/nuitka...)
  2. OpenNews: Выпуск Nuitka 0.5.8, компилятора для языка Python
  3. OpenNews: Выпуск компилятора Cython 0.20 и системы проверки Python-кода Frosted 1.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41729-python
Ключевые слова: python, nuitka
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (3) RSS
  • 1.1, Аноним (-), 12:08, 26/02/2015 [ответить]  
  • –1 +/
    Знание С++ уже не требуется? И кроссплатформенность автоматическая?
     
     
  • 2.5, Kamiram (?), 21:14, 26/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    не так все просто. хотя штука полезная.
     

  • 1.3, Аноним (-), 15:18, 26/02/2015 [ответить]  
  • +/
    Релиз уж 30 января был. Сейчас 0.5.10 вот вот выйдет.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру