The OpenNET Project / Index page

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

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

19.01.2015 12:34

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

При подготовке новой версии основное внимание было уделено решению проблем с совместимостью, улучшению оптимизаций и проведению чистки кода. Решены проблемы с импортированием на системах с регистронезависимыми ФС (Windows и OS X). Добавлена экспериментальная поддержка PyQt5, пока без поддержки плагинов. Для имён файлов, отражаемых в атрибуте __file__, теперь применяются относительные пути. Обеспечена сборка rpm-пакетов для Fedora 21 и CentOS 7 через openSUSE Build Service.

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


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Константавр (ok), 13:01, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    на 258% - охохохохо!!!! Срочно перекомпилировать Бленлер со всеми плагинами!
     
     
  • 2.4, бедный буратино (ok), 14:00, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а причём здесь логика и вызываемые приложения? если подготовка к рендерингу будет занимать на 10 миллисекунд меньше - на самом рендеринге это не отразится :)
     
     
  • 3.6, Константавр (ok), 14:12, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ты с Блендером работал? Там всё на питоновских скриптах держится. И скорость выполнения их на сложных моделях (да что там сложных, один только sapling как тормозит), не всегда на уровне. А вот если бы они в системе компилировались в бинарники, да с 258% прироста скорости...
     
     
  • 4.16, grayich (ok), 18:36, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    258% по сравнению с СИпитоном
    по сравнению с питоном получится ~300-1300 раз
    вот только интегрировать это в блендер может быть невозможно
     
     
  • 5.24, Stax (ok), 21:38, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > 258% по сравнению с СИпитоном
    > по сравнению с питоном получится ~300-1300 раз

    Простите? Вы знаете про какую-то реализацию "питона", которая в 100-400 раз медленнее стандартной CPython?

     
     
  • 6.25, grayich (ok), 22:09, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    перепутал с cython ))
     

  • 1.5, _KUL (ok), 14:01, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Любовь к плюсам у людей, даже через питон проявляется :)
     
  • 1.7, Аноним (-), 15:49, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >развивается компилятор, позволяющий транслировать скрипт на языке Python в представление на C++

    Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт. Ну почему никому из них до сих пор не пришла в голову мысль выкинуть python и просто освоить C++.

     
     
  • 2.8, Аноним (-), 15:50, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт. Ну почему никому из них до сих пор не пришла в голову мысль выкинуть python и просто освоить C++.
    > просто освоить C++.
    > C++
    > просто освоить

    Ну ты понял.

     
     
  • 3.23, Аноним (-), 21:05, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Ну ты понял.

    Что именно? Что у вас отставание в развитии?

     
  • 2.11, anonymous (??), 16:35, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    пока ты напишешь на крестах работоспособный прототип, на питоне уже можно сделать таких два
     
  • 2.13, myhand (ok), 17:16, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –8 +/
    > Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт.

    Не просветишь, конечно, почему by-design?

    > выкинуть python и просто освоить C++.

    Чтобы использовать допотопный "высокоуровневый" язык, в котором даже gc нет?  Да еще и с через*опным синтаксисом в придачу.  Этого франкенштейна любят до сих пор только
    бездарные преподаватели разных рашен ПТУ^W^Wпардон, технических университетов.

     
     
  • 3.22, Аноним (-), 21:00, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >разных рашен ПТУ^W^Wпардон, технических университетов

    Сказал школьник, выдающий себя за выпускника университета.

     
     
  • 4.26, myhand (ok), 23:26, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    О, набижали.  А че мало так?
     
  • 2.30, Vkni (ok), 08:32, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > просто освоить C++.

    Нет, Ocaml - скорость программ примерно в 2 раза ниже C++ (gcc -O2 и пр), скорость компиляции на порядок выше, строгая статическая типизация + вывод типов дают скорость разработки в 2 раза выше, чем на С++ (и отсутствие косяков динамической типизации, характерных для Питона).


     
     
  • 3.36, Аноним (-), 19:06, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > и отсутствие косяков динамической типизации, характерных для Питона).

    освойте инициализацию переменных ;)

     

  • 1.12, Аноним (-), 16:57, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В одних тестах бинарник быстрее, в других - наоборот.
     
     
  • 2.29, Аноним (-), 05:53, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >В одних тестах бинарник быстрее, в других - наоборот.

    А в других стало быть тест быстрее бинарника.

    O_o

     
     
  • 3.34, Аноним (-), 02:58, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    да, в интерпретаторе некоторые тесты работают быстрее, чем в бинарнике от нуитки
     
     
  • 4.35, Аноним (-), 04:25, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >да, в интерпретаторе некоторые тесты работают быстрее, чем в бинарнике от нуитки

    тест завершается быстрее бинарника.. 0_o
    что ж, это наверное вполне нормальные тесты у питон-"программистов"..

     

  • 1.17, Аноним (-), 19:36, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я все чаще замечаю что большинство программистов идиоты.
     
     
  • 2.18, Аноним (-), 19:37, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное вы хотели сказать шизофреники?
     
     
  • 3.19, Аноним (-), 19:38, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Наверное вы хотели сказать шизофреники?

    Ну можно и так сказать. Вот и поговорили.

     
  • 3.20, grayich (ok), 19:58, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "и поэтому я решила выписаться из дурдома, так будет лучше для меня обоих" .. ага
     
  • 2.21, Аноним (-), 20:58, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Наверное вы хотели сказать что большинство python-истов идиоты?
     
     
  • 3.28, Аноним (-), 01:52, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну можно и так сказать. Вот и поговорили.
     

  • 1.31, Яничегонепонял (?), 09:42, 20/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > которое затем можно скомпилировать в исполняемый файл

    А .pyc - это не скомпилированный байт-код? В чем проблема?

     
     
  • 2.32, myhand (ok), 18:48, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> которое затем можно скомпилировать в исполняемый файл
    > А .pyc - это не скомпилированный байт-код? В чем проблема?

    Проблема в том, что это байт-код для VM CPython, а не ELF с машинными инструкциями.

     
  • 2.33, userd (ok), 19:08, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    .pyc - это просто сохранённый в файле байткод.
    а Nuitka делает хитрее - она грубо говоря разворачивает инструкции байткода в программу на С++. Да ещё для каждой функции генерируется код для разбора параметров.

    Это может дать определённое ускорение - пропадает цикл выборки и диспетчеризации инструкций вирт.машины, как уже сказано - есть альтернативная (к CPython) реализация разбора параметров. Сделана определённая оптимизация в компиляции выражений. Возможно, что снижается нагрузка на сборщик мусора.

    Автором принято решение - все объекты остаются питоновскими объектами. Это позволяет при необходимости обработать с помощью Nuitka всю программу или только отдельные модули и потом "перемешивать" обычный код и код откомпилированный Nuitka. Но это и серьёзный источник ограничения производительности.

     

  • 1.37, Аноним (-), 12:26, 31/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто пользовался - как оно там готово для распространения своих поделий?
    как то компилил хеллой ворд чтото около 25 мегабайт вышло. ЛОЛ.
    проще через Pyinstaller собирать - намного меньше весит.
     

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



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

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