Доступен выпуск проекта Nuitka 1.2, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 - 3.10. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58202
>скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%А мои практические тесты демонстрируют замедление на 30-40%. Зачем может понадобиться замедлять код?
мои практические тесты демонстрируют деградацию экспертов опеннета. Зачем экспертам может понадобиться деградировать?
О, очень интересна, покажи методику по которой проводил тестирование. Но, признаюсь, я склоняюсь к тому, что в твоей методологии была явная ошибка, и опеннет всегда был таким.
Чтобы де-градиитвать надо сначала градировать.
Питонисты и деграданты это не одно и то же?
С питоном можно делать две вещи:1) пытаться ускорить питон
2) писать комменты, что это не питон тормозит, а I/O, и что на других языках тоже бы тормозило
Справедливости ради, полностью и то и другое лишено смысла. А вот что можно сделать с питоном, так это в 3 строчки и пару импортов получить сотню страниц из сети и извлечь из них что-нибудь для показа пользователю, и всё это за 1 секунду. Можно ли быстрее? Конечно, можно. Но можно и медленнее, целиком аналогичный синхронный код выполняется больше 120 секунд.
на питоне полагается писать "прототипы, которые - мамой клянусь! - потом перепишем на нормальный язык, если прототип взлетит". Когда прототип взлетает, вместо обещанного переписывания идут попытки ускорить сам питон. Когда эти попытки предсказуемо проваливаются, просто докупаются мощности у хостера. А правильное применение питона привел ты: это одноразовые скрипты на выброс, скрипты, которые было бы неудобно писать на баше.
Почему на выброс? Я такой хренью десятилетиями пользуюсь и она успешно работает. "Нормальные языки" чёт постоянно отваливаются и приходится обновлять код.
Странно, что это за "отваливающиеся языки" такие, не подскажешь? Обычно это питон славится своим непостоянством -- таким, что миграцию с питона-2 на питон-3 не переживет даже print 'hello world'
Ничего странного, это буквально любой компилируемый язык. Не запустится, если не слинковать бинарь (или большую его часть) статически. Но даже так, если лет через 5 запускается, это уже чудо. Зависимости легко и непринуждённо ломают апи, т.е. часто перекомпилировать заново ты сможешь только с какой-то доисторической версий (её ещё предстоит найти). ЕСЛИ она ещё собирается сама по себе. Именно по этой причине многие проекты в итоге прибиты к доисторическим бандленным версиям зависимостей. Компиляторы внезапно начинают считать код проектов зависимостей абсолютно невалидным, мол, так нельзя. Т.е. ты прибит и ко всему тулчейну.В то же время как скрипты питона, написанные с совместимостью 2/3 (то есть с ограничением по функциональности на уровне около 3.2), до сих пор работают и обновляются на актуальные версии зависимостей совершенно без проблем. Не знаю, где он там славится FUDом, мне кажется, только в рунете хомяки это повторяют по кругу. Батарейки качественные и обеспечивают совместимость, проходят продолжительный период устаревания функциональности и поддерживают совместимость долгое время, легко найти искомую версию и с каких пор совместимость пропала. Да и изменения чаще всего максимально тривиальные и понятные.
> Ничего странного, это буквально любой компилируемый язык. Не запустится, если не слинковать
> бинарь (или большую его часть) статически. Но даже так, если лет
> через 5 запускается, это уже чудо. Зависимости легко и непринуждённо ломают
> апи, т.е. часто перекомпилировать заново ты сможешь только с какой-то доисторическойТы занимаешься бесполезным метаним бисера.
Очевидно же, что местные "эксперты компиляции" лишь теоретизируют, потому как с описанными проблемами можно столкнуться, просто пытаясь использовать какую-то определенную, старую версию софтины из репы (а уж если пользуешься чем-то "маргинальным", не попавшим в репу или "заброшенным") ...
Ну да. Эти теоретики уже не один фейсбук на С++ написали, правда только в теории)
Ну если ты пользуешься ""маргинальным", не попавшим в репу или "заброшенным"" - то наверное сможешь в configure && make && make install
> Ну если ты пользуешься ""маргинальным", не попавшим в репу или "заброшенным"" -
> то наверное сможешь в configure && make && make installЯ то смогу, но ... что хотел нам сказать (еще один) теоретик (который не в курсе, что далеко не всегда используются автотулзы, да и не поможет configure при сломе API в зависимостях)?
Hello, world! уже можно собрать gcc, llvm, msvc или все ещё "есть нюанс"(Ц), м? А так, чтоб оно работало не только "на компьютере разработчика", или без докера ниале?
Пайтон им не нравится, ъ...
> Hello, world! уже можно собрать gcc, llvm, msvc или все ещё "есть нюанс"(Ц), м?Ну вообще-то если в хелло ворлде такого плана возникает нюанс, это, наверное, питонист был..
Ну да, ну да. А если use after free возник - то пыхапэшник, ведь "все знают", что "НАСТОЯЩИЕ шотландцы"...
> Обычно это питон славится своим непостоянством -- таким, что миграцию с питона-2 на питон-3
> не переживет даже print 'hello world'Обычно это "экспертусы" опеннета славятся своим умением пускать метан в лужу.
% cat hello.py && 2to3 -w hello.py && python3 hello.py
print 'hello world'
RefactoringTool: Refactored hello.py
--- hello.py (original)
+++ hello.py (refactored)
@@ -1 +1 @@
-print 'hello world'
+print('hello world')
RefactoringTool: Files that were modified:
RefactoringTool: hello.py
hello world
> Почему на выброс? Я такой хренью десятилетиями пользуюсьЛовлю на слове. Запусти какой-нибудь скриптик с питоном 2.4 на современной системе вообще. Ну а хренли, шелскрипты десятилетней давности работают. Как впрочем и сишные програмым. А чего им будет то?
Таких нет, не писал на 2 версии, только на 1. В 2 постоянно много чего ломали и там не было совместимости как как между 2 и 3 и в 3. Но с тех времён язык и экосистема определённо выросли с игрушечного уровня до продакшен-реди.Насчёт шелла… Ты врёшь, да? Там даже с башем не всё гладко. Может если только использовать базовые стандартизированные возможности и какой-нибудь стрёмный шелл. Сишные приветмиры тоже протухают очень легко, мне каждые 2 года приходится дописывать совместимость утилиты которая лежит в основе пачки шел скриптов. С зависимостями вообще ад, они улетают в небытие только так.
> Как впрочем и сишные програмым. А чего им будет то?Ну да, что же будет gtk1-2 программам (как и куче других утилит) без гтк1/2 или старых версий freetype/libxml/еще100500возможныхзависимостей?
Ну вот не был бы ты Великим Знатоком-Теоретиком294, знал бы, что все сложнее хелловрота "протухает" только влет, как минимум по зависимостям (да и на "слом" API натыкался бы).
> Ну да, что же будет gtk1-2 программам (как и куче других утилит)
> без гтк1/2 или старых версий freetype/libxml/еще100500возможныхзависимостей?Ну хз, pidgin 2.x и xchat вроде компилились, хоть и не модно-молодежные. Этого мало? Да, у меня GTK2 с -dev хидерами стоит. Бbлдить GTK2 софт поприятнее GTK3 так то вообще. А программы с GTK1 вымерли до того как мне всерьез вштырили линухи, я их живьем не видел.
> Ну вот не был бы ты Великим Знатоком-Теоретиком294, знал бы, что все
> сложнее хелловрота "протухает" только влет, как минимум по зависимостям (да и
> на "слом" API натыкался бы).Сложнее насколько? LempelZiv - нормальный хеловорлд? Все еще компилится и работает ничуть не хуже чем раньше, 30+ лет спустя. Удачи запустить питоноскрипт цатилетней давности такой сложности вообще.
Да что там, я пару алгоритмов из подобного софта сдернул, работает себе. Древние толк в эффективном кодинге толк знали. За ними конечно приходится подразгрести если integer overflow и buffer overrun душу не греют, но тогда просто другое время было, они просто не думали что кто-то может программу намеренно мусором кормить.
> вместо обещанного переписывания идут попытки ускорить сам питонВообще-то по феншую сперва идет оптимизация. Слыхал про такое?
> просто докупаются мощности у хостера
Все правильно: вкалывают роботы, а не человек.
> одноразовые скрипты на выброс
Анализ данных там... Фигня всякая, короче.
Впрочем, недавно одни на такой "выброс" написали - и нобелевскую премию по физике получили. Так-то, анон.
> Впрочем, недавно одни на такой "выброс" написали - и нобелевскую премию по физике получили.Бери поправку на то, что ученые - это не программисты, у них нет времени осваивать целую новую область помимо своей. То, что они используют питон - неплохо, потому что питон - язык для непрограммистов, язык из разряда "выучу его по дороге домой в метро". Впрочем, питон не защитит ученых от ошибок, как например тут: "Недоработка в Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии" https://www.opennet.dev/opennews/art.shtml?num=51667
> потому что питон - язык для непрограммистов, язык из разряда "выучу его по дороге домой в метро"Поэтому в нём есть побитовые операции и прочие плюшки Си? Или для удовлетворения эга погромиста-элитки непременно нужны ещё ассемблерные команды?
> Поэтому в нём есть побитовые операции и прочие плюшки Си?С каких пор побитовые операции -- это "плюшки си"? И почему язык для непрограммистов не может иметь побитовых операций? В Basic они тоже есть.
потому что я говорю о стандартном питоновском интерпретаторе, который написан на Си и многие стандартные питоновские фичи выполняет со скоростью скомпилированной программы
вообще, поясни, как ты разделяешь языки для погромистов и не таковых?
Язык для программистов – Rust. Остальное для любительских проектов. Не перепутайте.
У питона отвратительный формат hex, который неудобно в int перегонять.
> Поэтому в нём есть побитовые операции и прочие плюшки Си?Беготня с пластмассовым 10-сантиметровым самолетиком не делает тебя офигенным пилотом. Даже если ты и орешь при этом как истребитель на взлете, толку сильно меньше.
> потому что питон - язык для непрограммистовТы говоришь, как будто это что-то плохое.
"Профессиональный программист" - это на самом деле не уберменш, а
что-то типа "профессиональный п*сец" (****ся, ох**** опеннет называет
почтенную профессию "неприемлемой лексикой"). Навыки программирования - необходимы
в любой мало-мальски технической области человеческой деятельности, примерно
как навыки письма и умение связно излагать свои мысли.> питон не защитит ученых от ошибок, как например тут: "Недоработка в
> Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии"Я тебе страшное скажу: никакой язык программирования не защищает. Это долго и тщательно
скрывали - но вот теперь Народ Знает Всю Правду.Все, рептилоиды уже стучатся в дверь...
этот пятый аноним скрипты-то свои расчехлил смотри как, лайкает себя и дизлайкает несогласных, вот же у илитного погромиста полыхает!
А ведь ещё бывает сортировка по алфавиту и натуральная, различные правила сортировки и очерёдность может весьма отличаться от того, что ты видишь в проводнике. Ох, сколько ещё открытий ждёт этих "учёных". Непонятно только, как язык для "непрограммистов" им поможет. Вот луа определённо для "непрограммистов" и проблемы с сортировкой там ровно те же (каждый день наблюдаю результат работы кривых сортировочных костылей в скриптах mpv). Я вот считаю, что питон куда больше про программистов, чем тот же си. Потому что в его концепции куда более сложные абстракции заложены (со скидкой на интерпретатор).
> Непонятно только, как язык для "непрограммистов" им поможет.Документацией.
> Я вот считаю, что
> питон куда больше про программистов, чем тот же си. Потому что
> в его концепции куда более сложные абстракции заложены (со скидкой на
> интерпретатор).Технически, в русский язык заложена возможность писать на уровне
Шолохова или Шукшина. Но большинству это не нужно и оно не умеет.
Это нормально.Питон берет на себя управление памятью - уже в этом смысле он
может не подойти кому-то. Точно так же как "абстракции"
вполне реализуемы по-разному.
> почтенную профессию "неприемлемой лексикой"). Навыки программирования - необходимы
> в любой мало-мальски технической области человеческой деятельности, примерно
> как навыки письма и умение связно излагать свои мысли.Да никто бы не возражал если бы клизмы знали свое место. Представь себе что ты припер к хирургу на операцию, а там вместо хирурга я. Потому что видите ли смог упаковаться и скальпель взять. Я правда даже не мясник, за анатомию у меня четверка, и та натянутая. А если наглости с типажей типа тебя набраться, можно еще более приличных докторов коновалами обозвать, чтобы себе цену набить.
Только потом оказывается что маск может взять и с треском вышибить 50% этих, которым сложно быть эффективными более пары часов в день, а остальным объяснить что теперь они будут пахать вовсе не пару часов в день, или на выбор дверь вон там. И при всем этом никто даже разницу не видит.
> Представь себе что ты припер к хирургу на операцию, а там вместо хирурга я.Объясняю по второму кругу: эта аналогия ложная. Ты себя не с хирургом сравнивай.
Умения профессионального программиста (я не беру CS и проч) - это что-то
вроде умения грамотно и внятно писать на русском языке. Раньше такие
на базарах сидели и кляузы гражданам сочиняли или там письма на деревню
дедушке. А сейчас - повывелись, граждане сами пишут. Малограмотно,
косноязычно (ну как я вот) - но сами. Делай выводы, анон.
> Объясняю по второму кругу: эта аналогия ложная. Ты себя не с
> хирургом сравнивай.По-моему замечательная аналогия. Как-то ножиком махать могу даже я. А то что я дилетант и поэтому шансы что я тебя не зарежу в процессе больше похожи на русскую рулетку - ну так питонисты программят точно так же. Особенно когда они свое фекалье потом от большого ума в сеть вывешивают. Ну так, глядя на 1) RCE (да, питонисты тоже могут) 2) priv escalation 3) dos/crash трех разных мастей. В питонячий код достаточно легонько тыкнуть палочкой и результат обычно превосходит самые смелые ожидания.
> Умения профессионального программиста (я не беру CS и проч) - это что-то
> вроде умения грамотно и внятно писать на русском языке. Раньше такие
> на базарах сидели и кляузы гражданам сочиняли или там письма на деревню
> дедушке. А сейчас - повывелись, граждане сами пишут. Малограмотно,
> косноязычно (ну как я вот) - но сами. Делай выводы, анон.Да вот почему-то даже у этих зачастую хватает ума попросить в офисе напечатать, кого-нибудь не очень позорного. И даже должноть оператора ПК и т.п. появилсаь, с характерными требованиями. Вот как раз чтобы не позориться на публику самим. Да, особо ушлые и туда сажают кого попало но там потом зачетные мемасики у россиян выходят, когда с этикетки магазина можно пополам сложиться нахрен.
> По-моему замечательная аналогия.Примерно как ж*па символизирует палец.
> Особенно когда они свое фекалье потом от большого ума в сеть вывешивают.
Ну так больше-то - некому. Не тебя же, погромиста, сажать за обработку данных
LIGO, верно?! Тут десяток лет учить надо. И не факт, кстати, что научить
можно каждого... Кто на тебя время тратить будет? Проще - самому.> В питонячий код достаточно легонько тыкнуть палочкой и результат обычно
> превосходит самые смелые ожидания.В питонячем коде, как минимум, не ошибок, связанных с управлением памятью. Так
что еще вопрос куда легче тыкат палочкой... Скорее всего - во что-то приплюснутое.> Да вот почему-то даже у этих зачастую хватает ума попросить в офисе
> напечатать, кого-нибудь не очень позорного.Ну, может быть. Деградация населения идет полным ходом - я просто как-то
специально за этим не слежу. Может вы уже и писать разучились...
>То, что они используют питон - неплохо, потому что питон - язык для непрограммистов, язык из разряда "выучу его по дороге домой в метро".Ты хоть один язык выучи сначала. Тогда, хотя-бы, начнешь понимать о чем вообще речь.
за такие рекомендации тут банят, иксперты опеннет все знают не уча
А если слесарь на С++ программу напишет, С++ сразу перестанет быть языком для программистов?
> А если слесарь на С++ программу напишет, С++ сразу перестанет быть языком
> для программистов?Скорее, кто-то недовольно пробурчит что-то про ардуинщиков.
> питон не защитит ученых от ошибокДа, недавно случайно узнал, что fft из numpy принимает на вход диапазон со степенью двойки, а остальное игнорирует. В документации об этом не было.
numpy — это явно написанная дикими людьми библиотека. В смысле, не имеющими культуры программирования — там API чистить и чистить.
Да вообще-то примерно 98% софта на питоне писано такими же и по виду больше всего напоминает макет из картона и пластилина, слепленый на скорость. Периодически что-то отваливается, тогда это пытаются на суперклей подклеить. Как вон сабж.
> питон - язык для непрограммистов, язык из разряда "выучу его по дороге домой в метро"Это известное заблуждение, да.
Языки из разряда "выучу по дороге домой в метро" — это Pascal, SML, Miranda, Scheme R5RS уже под вопросом.
Если не верите, возьмите том Fluent Python или подобный, и распечатку "Введение в Стандартный ML" Харпера, а потом стукните себя ими по голове. Сначала лучше Харпером.
> известное заблуждение, даЭто зависит от значения глагола "выучил" в данном контексте. Если анон прочел стандартный туториал - он несомненно уже что-то сможет написать на питоне. Подходит ли тут слово выучил?
> Scheme R5RS уже под вопросом
Почему? Там сама спецификация языка, включая подробные формальные определения - страниц 50.
питон просто отличный язык, что бы тут мамкины илитки не ныли
это не илитки, это те же бездари, что ругают systemd, docker, kubernetes, местные баш-портянщики, не написавшие ни одной программы за всю свою никчемную жизнь
Переписал свой говнокод с питона на D, производительность увеличилась на порядки. Питон медленный.
>местные баш-портянщикия даже этого не писал. мне иногда кажется а даже не кажется а уверенность что я подвержен стадному инстинкту. я никогда не вникул во внутнянку этих ваших линуксов, не читал книг и не знаю чем плох systemd. атк немножко по верхам слышал что-то, но знаю что если ругать systemd то ты крутй перец. А питонисты вообще не погромисты, пробелы считают со своей динамической типиизациеей.
Те, которые ругают systemd, как раз таки, за скриптование выступают.
дело не в скриптовании, в инженерно-практическом мышлении, то есть в возможности осознать, где оно уместно, а где задачи решаются другим, специазированным инструментом, готовым к промышленному использованию. ругающие systemd в 2022 - это мамкины лузеры с локалхостами
>что ругают systemd, dockerВот не мешай теплое с мягким. В systemd встроен сетевой менеджер, который мало того, что для системы инициализации попросту не нужен, он еще и потенциальная уязвимость для ключевого процесса, от которого форкуются все прочие процессы. Все остальные особенности systemd после этой можно уже даже и не рассматривать.
Что до докера, то ставить его на компьютер откровенно не безопасно. Во первых, говорилось уже, что он лезет изменять файрвол. Во вторых, проблема, о которой понимающие люди еше лет 7 назад предупреждали, и которая сейчас и подтвеждается - это проблема недоверенных образов.
А он не встроен. Весьма опциональный побочный компонент. В приличных дистрах идет просто отдельным пакетом.
>А он не встроен.Возможно я неправильно выразился. Но дело в том, что менеджер сети системе инициализации вообще не нужен. Вокруг процесса с pid 1 накрутили целый комбайн, да еще и сеть подключили.
Как инструмент для быстрого прототипирования - да, как инструмент для продакшена - нет и еще раз нет.
Ани на нём сервр сайд бекенд пишут.
Стадии переписывания:
1. Энтузиазм. Перепишем и отконпеляем это тормознутое говно. Все за работу!
2. Реальность. Пипец, столько работы! Бюджет уже вышел, а у нас и половина не сделана.
3. Принятие. Слушайте, ну оно же хоть и тормозное, но работает. В конце концов, работать должна машина, а не человек. Оставляем как есть. Все на новый проект! Будем писать прототип...
прекрасно подходит для продакшена, от задач зависит, а если ты это этого не понимаешь (а ты не понимаешь, раз пишешь то, что пишешь), то ты входишь в ту самую группу местных бездарей, имеющих обо всем мнение, но не написавших в своей никчемной жизни ни одной программы
Максим, со скриптами лайк-дизлайк будете что-то делать или нет? из-за такой активности то что я ставлю не засчитывается, те фича не работает
чую, у Анонима (5) полыхает
Совсем не палится чувак, даже жалко его как-то.
Открываю лично тебе страшный секрет. Лайки обновляются после добавления новых комментариев.
Чувак, главное свои коментарии не лайкать.
Из разных профилей браузера вполне.
Как в том анекдоте, а над названием надо ещё поработать.
> на 335%.Тот случай когда лучше писать "в" ))
На самом деле всего в три раза. Вообще вроде пару лет назад ещё было только в два раза, смотрю прогресс идёт. Правда, я тогда пробовал тестить на циклах с простой математикой, выигрыша не получил вообще и не стал париться.
А вообще если у этой штуки хорошая совместимость и компилится любой код, стоило бы на основе этой штуки может JIT компиляцию в питон из коробки завести?
компиль в WebAssembly
>На самом деле всего в три раза.В 4.
Да, точно.
Компилированный питон так же быстр, как не компилированный PHP
Кто-нибудь подскажите, сабжом можно теперь Flask скомпилировать?
вот бы к sbcl нуитку написать
Возьмите dotnet и не парьте себе мозги