The OpenNET Project / Index page

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

Новый выпуск Nuitka 0.4.3, компилятора для языка Python

18.05.2013 22:10

Выпущен компилятор для языка Python - Nuitka 0.4.3, позволяющего транслировать скрипт на языке Python в представление на C++, которое можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Возможна компиляция как библиотек так и непосредственно исполнительных файлов, в том числе и рекурсивная.

В текущем выпуске поддерживаются версии языка Python 2.6, 2.7, 3.2 и 3.3. Компиляция выполняется путем трансляции кода в С++ и последующей передачи компилятору С++, таким как g++, MinGW g++, clang. Поддерживаются операционные системы Linux, Mac OS X, Windows, FreeBSD, NetBSD.

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

  • Добавлена поддержка компилятора Microsoft Visual C++.
  • Добавлена поддержка NetBSD.
  • Многочисленные улучшения в поддержке Python 3.3.
  • Компилятор выдает предупреждение, если компилируемый файл может быть использован как модуль и как основная программа, например с конструкциями вида
    
       if __name__ == "__main__":
          main()
    
  • Добавлена опция "nuitka --execute module", аналогичная python -c "import module";
  • Внесены новые оптимизации производительности.


  1. Главная ссылка к новости (http://nuitka.net/...)
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36963-nuitka
Ключевые слова: nuitka, python, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kai3341 (ok), 23:17, 18/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хм. Попробую-ка скормить ему скринлеты :) Интересно, что из этого выйдет :)
     
     
  • 2.6, dr Equivalent (ok), 02:42, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Жду результатов, бро.
     
     
  • 3.7, kai3341 (ok), 04:09, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пока протестировал на 3 скринлетах:
    NowPlaying собирается, но работать отказывается.
    ClearWeather успешно собирается и работает.
    + Сравнивал по потреблению памяти. Скомпиленный кушает на 300 kb меньше.
    ClearCalendar срёт ошибками, связанными с путями. Говнокод детектед.

    Короче, нужно больше тестов! :)

     
     
  • 4.8, dr Equivalent (ok), 04:13, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    *голосом GlaDOS* Не могу не согласиться с данным умозаключением.
     
  • 4.14, Аноним (-), 12:19, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/

    > Короче, нужно больше тестов! :)

    Короче нужно описать как собирал.

     

  • 1.2, Xasd (ok), 23:31, 18/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Компилятор выдает предупреждение, если компилируемый файл может быть использован как модуль и как основная программа

    а зачем Компилятор это предупредение выдаёт?

    что именно должен сделать программист (который увидил это предупреждение) чтобы УДОВЛЕТВОРИТЬ это предупреждение Компилятора?

     
     
  • 2.3, Аноним (-), 23:44, 18/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну хоть читать-то вы можете? По ссылке все расписано - что и как
     
  • 2.4, Аноним (-), 23:45, 18/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >а зачем Компилятор это предупредение выдаёт?

    В 0.4.4 планируется новая опция --portable, т.е. можно будет делать носимые на флешке программы например на PyQt, в рамках этого улучшения будут собираться в отдельную папку динамические библиотеки .so, в рамках такой сборки модулей конструкции с __name__ , являющиеся нормальной практикой в модулях python, будут игнорироваться, так вот чтобы не запутаться в сборке (например нужно несколько исполняемых файлов и чтобы они собрались в .so) нужны такие предупреждения.  

     

  • 1.5, dr Equivalent (ok), 02:29, 19/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Только что попробовал.
    Мой старый исходник с GoI съел, и не подавился.
    Годно. Нужно.
     
  • 1.9, www2 (ok), 10:37, 19/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >libpython

    Десятое правило Гринспуна в полный рост.

     
  • 1.10, Аноним (-), 10:47, 19/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как там с бенчмарками? Автор чегой-то темнит на эту тему - типа оптимизацией еще не занимался, поэтому бенчмаркить не буду
     
     
  • 2.11, Аноним (-), 10:51, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >    Как там с бенчмарками? Автор чегой-то темнит на эту тему - типа оптимизацией еще не занимался, поэтому бенчмаркить не буду

    Прошлую новость посмотри, будут тебе бенчмарки.

     
     
  • 3.12, Аноним (-), 11:25, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В текущем виде проект уже обеспечивает заметное повышение производительности итогового исполняемого файла по сравнению с CPython (опережение на 258% в тесте pystone).

    Это? Вот что говорит Гвидо на тему:

    This project looks completely misguided. The talk focused on the trivialities of mapping Python to C++ rather than on the interesting problems to be encountered when trying to optimize Python while maintaining its extremely dynamic semantics. Also the benchmarking effort is laughable; pystone is not to be taken seriously (only exercises a tiny part of the language) and pybench does microbenchmarks, which are optimized away. You should try the "real-world" benchmarks from the PyPy and Unladen Swallow projects. And what is the size of the generated code? (E.g. how big would the binary for the entire standard library be?) In your blog, please use less boring subjects than "version x.y.z released".
    Reply | Guido van Rossum,  04 July 2012 #

     
     
  • 4.13, Аноним (-), 11:43, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Это?

    Да

    > Unladen Swallow ... Guido van Rossum,  04 July 2012

    Самому не смешно? С тех пор гугл похоронил Unladen Swallow, а Гвидо с гугла свалил в дропбокс. А проектик начатый как хобби, живет, развивается, пока растет вширь, обеспечивая компиляцию на всё большем количестве платформ и компиляторов, и уже сейчас представляет неплохую замену для различных py2exe cx_freeze. Оптимизации запланированы следующим этапом после обеспечения кроссплатформенности, а она практически уже есть.  

     
     
  • 5.15, бедный буратино (ok), 12:31, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме как сокрытие исходников (цель сама по себе сомнительная), этот компилятор какие-либо реальные преимущества даёт?
     
     
  • 6.16, Аноним (-), 12:38, 19/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Кроме как сокрытие исходников (цель сама по себе сомнительная), этот компилятор какие-либо
    > реальные преимущества даёт?

    Уже сейчас можно портировать программы на платформы где нет установленного python с необходимыми для работы библиотеками. С появлением оптимизаций выполнения кода (а их 6 видов, которые Кай (разработчик) запланировал добавить) - получаем совсем годную вещь.

     
     
  • 7.20, Ali (??), 12:07, 22/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Мне интересно, от GIL оно избавляет или нет?
     

  • 1.17, Gentoouser (?), 19:46, 19/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно было бы попробовать portage этой вашей нюткой собрать...
     
     
  • 2.18, Клыкастый (ok), 15:12, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    кстати да.
     

  • 1.19, Аноним (19), 23:05, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    реально работает даже на умеренно стремных либах. офигеть
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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