Представлен (http://nuitka.net/posts/nuitka-release-058.html) новый выпуск проекта Nuitka (http://nuitka.net), в рамках которого развивается компилятор, позволяющий транслировать скрипт на языке 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.
URL: http://nuitka.net/posts/nuitka-release-058.html
Новость: http://www.opennet.me/opennews/art.shtml?num=41489
на 258% - охохохохо!!!! Срочно перекомпилировать Бленлер со всеми плагинами!
а причём здесь логика и вызываемые приложения? если подготовка к рендерингу будет занимать на 10 миллисекунд меньше - на самом рендеринге это не отразится :)
Ты с Блендером работал? Там всё на питоновских скриптах держится. И скорость выполнения их на сложных моделях (да что там сложных, один только sapling как тормозит), не всегда на уровне. А вот если бы они в системе компилировались в бинарники, да с 258% прироста скорости...
258% по сравнению с СИпитоном
по сравнению с питоном получится ~300-1300 раз
вот только интегрировать это в блендер может быть невозможно
> 258% по сравнению с СИпитоном
> по сравнению с питоном получится ~300-1300 разПростите? Вы знаете про какую-то реализацию "питона", которая в 100-400 раз медленнее стандартной CPython?
перепутал с cython ))
Любовь к плюсам у людей, даже через питон проявляется :)
>развивается компилятор, позволяющий транслировать скрипт на языке Python в представление на C++Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт. Ну почему никому из них до сих пор не пришла в голову мысль выкинуть python и просто освоить C++.
> Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт. Ну почему никому из них до сих пор не пришла в голову мысль выкинуть python и просто освоить C++.
> просто освоить C++.
> C++
> просто освоитьНу ты понял.
>Ну ты понял.Что именно? Что у вас отставание в развитии?
пока ты напишешь на крестах работоспособный прототип, на питоне уже можно сделать таких два
> Как только не изворачиваются любители python и уже который год, пытаясь убыстрить этот тормозной by-design продукт.Не просветишь, конечно, почему by-design?
> выкинуть python и просто освоить C++.
Чтобы использовать допотопный "высокоуровневый" язык, в котором даже gc нет? Да еще и с через*опным синтаксисом в придачу. Этого франкенштейна любят до сих пор только
бездарные преподаватели разных рашен ПТУ^W^Wпардон, технических университетов.
>разных рашен ПТУ^W^Wпардон, технических университетовСказал школьник, выдающий себя за выпускника университета.
О, набижали. А че мало так?
> просто освоить C++.Нет, Ocaml - скорость программ примерно в 2 раза ниже C++ (gcc -O2 и пр), скорость компиляции на порядок выше, строгая статическая типизация + вывод типов дают скорость разработки в 2 раза выше, чем на С++ (и отсутствие косяков динамической типизации, характерных для Питона).
> и отсутствие косяков динамической типизации, характерных для Питона).освойте инициализацию переменных ;)
В одних тестах бинарник быстрее, в других - наоборот.
>В одних тестах бинарник быстрее, в других - наоборот.А в других стало быть тест быстрее бинарника.
O_o
да, в интерпретаторе некоторые тесты работают быстрее, чем в бинарнике от нуитки
>да, в интерпретаторе некоторые тесты работают быстрее, чем в бинарнике от нуиткитест завершается быстрее бинарника.. 0_o
что ж, это наверное вполне нормальные тесты у питон-"программистов"..
Я все чаще замечаю что большинство программистов идиоты.
Наверное вы хотели сказать шизофреники?
> Наверное вы хотели сказать шизофреники?Ну можно и так сказать. Вот и поговорили.
"и поэтому я решила выписаться из дурдома, так будет лучше для меня обоих" .. ага
Наверное вы хотели сказать что большинство python-истов идиоты?
Ну можно и так сказать. Вот и поговорили.
> которое затем можно скомпилировать в исполняемый файлА .pyc - это не скомпилированный байт-код? В чем проблема?
>> которое затем можно скомпилировать в исполняемый файл
> А .pyc - это не скомпилированный байт-код? В чем проблема?Проблема в том, что это байт-код для VM CPython, а не ELF с машинными инструкциями.
.pyc - это просто сохранённый в файле байткод.
а Nuitka делает хитрее - она грубо говоря разворачивает инструкции байткода в программу на С++. Да ещё для каждой функции генерируется код для разбора параметров.Это может дать определённое ускорение - пропадает цикл выборки и диспетчеризации инструкций вирт.машины, как уже сказано - есть альтернативная (к CPython) реализация разбора параметров. Сделана определённая оптимизация в компиляции выражений. Возможно, что снижается нагрузка на сборщик мусора.
Автором принято решение - все объекты остаются питоновскими объектами. Это позволяет при необходимости обработать с помощью Nuitka всю программу или только отдельные модули и потом "перемешивать" обычный код и код откомпилированный Nuitka. Но это и серьёзный источник ограничения производительности.
кто пользовался - как оно там готово для распространения своих поделий?
как то компилил хеллой ворд чтото около 25 мегабайт вышло. ЛОЛ.
проще через Pyinstaller собирать - намного меньше весит.