The OpenNET Project / Index page

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



"Выпуск Nuitka 1.1, компилятора для языка Python "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от opennews (??), 17-Окт-22, 10:02 
Доступен  выпуск проекта Nuitka 1.1, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 - 3.10. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=57924

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (1), 17-Окт-22, 10:02 
Все пытаются и пытаются ускорить питон. А он все никак не ускоряется и не ускоряется. Да что же это такое?
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Nuitka 1.1, компилятора для языка Python "  +4 +/
Сообщение от Chlen22sm (?), 17-Окт-22, 12:04 
Его не надо ускорять. Задачи в которых его используют упираются в тормоза io. Для особо требовательных можно подключить библиотеки написанные на C.
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск Nuitka 1.1, компилятора для языка Python "  –5 +/
Сообщение от YetAnotherOnanym (ok), 17-Окт-22, 15:14 
> Задачи в которых его используют упираются в тормоза io

Ога. Почему-то для других языков io работает без тормозов.

Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от Аноним (44), 17-Окт-22, 16:36 
Что, на других языках мои условные 10K IOPS превратятся в 50?
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск Nuitka 1.1, компилятора для языка Python "  –2 +/
Сообщение от YetAnotherOnanym (ok), 17-Окт-22, 18:02 
Строго говоря, чтобы ответить на этот вопрос, надо знать максимальное значение IPOS, которое может обеспечить данное железо под данной ОС.
Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск Nuitka 1.1, компилятора для языка Python "  –2 +/
Сообщение от Ванёк (?), 18-Окт-22, 02:26 
Все используют его для своих задач, для разных задач. У многих ничего в io не упирается.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

69. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от Аноним (69), 18-Окт-22, 09:36 
Если не надо ускорять, может быть можно ещё медленнее сделать?
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

71. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от Аноним (-), 18-Окт-22, 19:10 
Просто Ван Россум хочет на пенсию и с очередной версией питона всё это ломается, ну прям как с очередным коммитом кое-где моментально ломается gccrs.

А разгадка одна - надо было писать на лиспе, в котором всё это уже давно и надолго.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

75. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Прохожий (??), 19-Окт-22, 06:46 
Чукча не читатель.
Цитата из статьи:"По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%."
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Выпуск Nuitka 1.1, компилятора для языка Python "  +6 +/
Сообщение от Аноним (2), 17-Окт-22, 10:06 
Огромная популярность языка и желание его ускорить делают свое дело: постепенно мы придем к быстрому, компилируемому, возможно, статически типизированному Python.
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от commiethebeastie (ok), 17-Окт-22, 10:08 
>статически типизированному Python.

Проблема в том, что даже разработчики ложили на типизацию.

Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск Nuitka 1.1, компилятора для языка Python "  +1 +/
Сообщение от Аноним (11), 17-Окт-22, 11:21 
Обычно это всё же "что-то" либо None. Ситуации, когда тип может оказаться и строкой и целым не нормальны. Зато вот словарём и списком вполне часто встречаемая ситуация, и на основании этого можно разбирать соответственно (оставляя остальную логику неизменной). Скорее всего, разобрать и типизировать статически вполне осуществимо, только несколько раздует. Ну, как шаблоны в плюсах.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Nuitka 1.1, компилятора для языка Python "  –2 +/
Сообщение от a_kusb (ok), 17-Окт-22, 12:25 
А как статическая типизация ускоряет программы? На уровне процессора типов нет.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

25. "Выпуск Nuitka 1.1, компилятора для языка Python "  +1 +/
Сообщение от Арикайнен Анатолий (?), 17-Окт-22, 12:43 
Это как посмотреть. Типы языка высокого или низкого уровня так или и иначе связаны с регистрами процессора.

А статическая типизация исключает преобразование типов, так что код сокращается, скорость выполнения растет. Но это незначительно. Типизация позволяет исключить ряд потенциальных ошибок при разработке.

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск Nuitka 1.1, компилятора для языка Python "  +2 +/
Сообщение от Аноним (26), 17-Окт-22, 12:55 
Когда тебе надо поработать с переменной, например вывести в консоль, тебе придется узнать что за данные в ней содержатся. В статически типизированном языке компилятор в момент компиляции уже это знает и соотв. может применить к этим данным какой-то код. В динамически типизированном языке придется выполнять проверку на то, какой код следует применить. В ситуации с тем же выводом содержимого переменной, число перед выводом должно быть приведено к специальному формату - значениям текстовых символов. А строка уже представляет собой набор таких символов и в дополнительной обработке не нуждается.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

36. "Выпуск Nuitka 1.1, компилятора для языка Python "  –2 +/
Сообщение от n00by (ok), 17-Окт-22, 13:28 
Пример с выводом на консоль не очень удачный. fprintf() определяет тип аргументов во время исполнения, разбирая спецификаторы формата. Ну и вывод на консоль вряд ли какую программу сильно замедлит. Это не вычисления.
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (67), 18-Окт-22, 09:19 
Консоль сама по себе одно из самые тормозных мест туда лучше ничего не выводить если нужна скорость.
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от n00by (ok), 18-Окт-22, 12:45 
А ещё лучше не путать тормоза в эмуляторе терминала, который отображает вывод в консоль, и даже может отсутствовать, и тормоза в коде программы.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск Nuitka 1.1, компилятора для языка Python "  +1 +/
Сообщение от n00by (ok), 17-Окт-22, 13:22 
> А как статическая типизация ускоряет программы? На уровне процессора типов нет.

Например a + b. В 32-х разрядном процессоре. Целое число занимает 4 байта. Строка занимает 4 байта - адрес символов в памяти (плюс сами эти символы, но в данном случае это не важно).

При статической типизации. Если a и b целые, транслятор генерирует команду сложения. Если это строки - тогда вставляет вызов подпрограммы объединения строк.

При динамической типизации. К тем 4-м байтам прибавляется еще 4 байта - тэг. Транслятор генерирует вызов подпрограммы универсального сложения. Та подпрограмма проверяет тег, а потом уже вызывает соответствующее каждому типу сложение.

Но есть нюанс. Статическая типизация - обычно компилируется в машинный код. Динамическая типизация - в байт-код для интерпретатора. Интерпретатор сам по себе медленный. Статическая типизация при интерпретации не даёт ощутимого выигрыша. Она имеет смысл, когда в интерпретаторе есть ещё и JIT-компилятор для частовызываемого кода.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

6. "Выпуск Nuitka 1.1, компилятора для языка Python "  +1 +/
Сообщение от Аноним (6), 17-Окт-22, 10:32 
Быстрый питон к 2050 году
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

15. "Выпуск Nuitka 1.1, компилятора для языка Python "  –5 +/
Сообщение от Chlen22sm (?), 17-Окт-22, 12:03 
> статически типизированному

Тогда это будет уже не пайтон. Типизации в современных языках вообще не нужны.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

20. "Выпуск Nuitka 1.1, компилятора для языка Python "  +1 +/
Сообщение от Тот_Самый_Анонимус_ (?), 17-Окт-22, 12:19 
Ликбез:
Современный не равен тупому.
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от fake_name (?), 17-Окт-22, 13:10 
Правильность этого утверждения сильно зависит от того, какой смысл вкладывается в определение современного языка
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

19. "Выпуск Nuitka 1.1, компилятора для языка Python "  –3 +/
Сообщение от Igraine (ok), 17-Окт-22, 12:16 
Компилируемый статически типизированный python это Cython

Нужен ли он "если в современных языках типизация не нужна", это отдельный вопрос.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

33. "Выпуск Nuitka 1.1, компилятора для языка Python "  –4 +/
Сообщение от Бывалый смузихлёб (?), 17-Окт-22, 13:21 
Конечно, придём. Но за несколько лет до этого вдруг резко начнётся форсирование другого модного ЯП как питона ещё относительно недавно.
И удобный, быстрый и годный питон окажется просто никому не нужен и полетит на свалку.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

73. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (-), 18-Окт-22, 19:14 
Вы же точно таким же образом зафорсили питон заместо перла - карма неизбежна.
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (-), 18-Окт-22, 19:12 
Но уже давно есть лисп, в котором можно рисовать типы, а можно и не рисовать. И всё это уже давно компиляется в асм. А в питоне такого не будет.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

8. "Выпуск Nuitka 1.1, компилятора для языка Python "  –5 +/
Сообщение от Аноним (8), 17-Окт-22, 11:05 
"Выпуск 1.1"? На гитхабе тегу "1.1" уже 3 недели, а 3 дня назад вышел "1.1.5".
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск Nuitka 1.1, компилятора для языка Python "  +4 +/
Сообщение от Аноним (1), 17-Окт-22, 11:11 
Релиз - это не когда создают "тег", а когда разрабы объявляют во всеуслышание, что "вот теперь все готово".

16 October - Nuitka Release 1.1 - This is to inform you about the new stable release of Nuitka. https://nuitka.net/

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск Nuitka 1.1, компилятора для языка Python "  –1 +/
Сообщение от Лолштоним (ok), 17-Окт-22, 13:05 
Трансляция скриптов на языке Python в представление на языке C, которое затем можно переписать на Rust.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Бывалый смузихлёб (?), 17-Окт-22, 13:23 
.. и скомилить в WASM
После чего запустить с JS-обёрткой
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (61), 17-Окт-22, 20:03 
...в контейнере шлакпака под ксеном в виртуалке.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (67), 18-Окт-22, 09:21 
WASM можно сделать и из C++. В той же Фигме WASM из C++ и там всё работает.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

37. "Выпуск Nuitka 1.1, компилятора для языка Python "  –2 +/
Сообщение от Аноним (37), 17-Окт-22, 13:32 
Переписывайте, мы вам ещё и с Nim Сишников нагенерим. Чем бы растодети не тешились.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

59. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (-), 17-Окт-22, 19:08 
Nuitka. Как переводится это слово?
Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Анно Домини (?), 17-Окт-22, 19:24 
Nuitka is short for Annuitka, which is the nickname of my wife Anna who is Russian
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (62), 17-Окт-22, 21:09 
"Нюшка" таки иначе пишется....
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (63), 18-Окт-22, 01:29 
Анюшка наверное
Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск Nuitka 1.1, компилятора для языка Python "  +2 +/
Сообщение от economist (?), 18-Окт-22, 07:48 
Анютка (рус.)
Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Аноним (74), 19-Окт-22, 00:47 
Нюська
Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск Nuitka 1.1, компилятора для языка Python "  +/
Сообщение от Анонимemail (76), 10-Ноя-22, 17:43 
Сделал простой веб-сервер на FastAPI для теста, замерил rps с помощью siege, собрал проект с помощью Nuitka --onefile, получился бинарь на 30% меньше, чем получается сборка на Alpine multi-stage build. Замерил rps, получилось 80% от обычного запуска... Ладно думаю, то сеть все дела (хотя медленнее то оно стать не должно из-за сети, т.к. один и тот же lo), попробую математику. Сделай простой скрипт, без зависимостей, где простой перебор в 2-х вложенных циклах с математикой внутри и ветвлением. Делаю несколько прогонов, получается 90% от обычного запуска. Как получить обещанные +335% ?
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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