1.1, Аноним (1), 11:15, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Самая удобная штука чтобы поставлять свою питоновскую программу в бинарном виде.
| |
|
|
|
4.47, Аноним (3), 14:38, 14/11/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
У питона с нулткой?.... Или у прекрасных женщин с именем Юлия?
| |
|
5.49, Аноним (49), 14:48, 14/11/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
Так сразу видно -- жульё, если конечно не думать одним прекрасным местом.
| |
|
6.92, Аноним (-), 09:16, 15/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Надо иметь русские мозги чтобы слово Julia - Юлия прочитать как Жульё.
| |
|
|
|
3.75, OpenEcho (?), 20:47, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Как скомпилируете в бинарник на ней что нибудь, то обязательно похвалитесь здесь пожалуйста!
| |
|
4.88, Аноним (3), 08:36, 15/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
А в чём, собственно, проблемы? Размер? Для серверных приложений это не проблема.
| |
|
5.139, OpenEcho (?), 11:16, 16/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> А в чём, собственно, проблемы?
В том, что Юлия, не компилится в бинарник своими core средствами.
Если вы знаете как сделать ELF бинарник без плясок с бубном (и без PackageCompiler модуля, который откровенно признаётся, что Julia "just-^BARELY^-ahead-of-time" compiled language, и далеко не всегда работающий как relocatable "app"), то буду признателен если поделитесь
> Размер? Для серверных приложений это не проблема.
Если платить не из своего кармана, то оно конечно, - у амазона много ресурсов
| |
|
6.143, Аноним (3), 15:29, 16/11/2021 [^] [^^] [^^^] [ответить] | +/– | PackageCompiler делает срез оперативки по коду памяти Собственно, какая вам раз... большой текст свёрнут, показать | |
|
7.144, n00by (ok), 16:46, 16/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> PackageCompiler делает срез оперативки по коду/памяти.
Дамп что ли? Это даже при снятии конверта (защиты) считается халтурой. Ещё со времён Спектрума и MagicButton.
| |
7.146, OpenEcho (?), 18:34, 16/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> PackageCompiler делает срез оперативки по коду/памяти.
> Собственно, какая вам разница из чего состоит бинарник?
Есть языки, которые говорят что они "compiled ahead of time", такие каk программы на С, С++, Го...
а есть языки, которые говорят что они компилируемые, но переводят потом стрелки на зависимости что - не могут.
Язык либо может быть комилирующим, всегда, либо нет, без оговорок на "если", поэтому если Вы говорите, "а зачем сабжект когда, есть Юля?", то сделайте выводы сами, - слишком много "если", даже без сторонних зависимостей, Джулия, не есть true компилируемый язык, несмотря на вкусности, которые в нем есть, на нем далеко не всегда получется создать бинарник
| |
|
|
|
|
|
2.5, 41 (?), 11:45, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Строго говоря, ещё есть фиксированный двоичные файлы, которые вмещают в себя и интерпретатор, и скрипты. Но скорость выполнения соответствующая будет.
| |
|
3.25, Аноним (1), 13:06, 14/11/2021 [^] [^^] [^^^] [ответить]
| –3 +/– |
Спешу тебя огорчить они декомпилируются обратно в питоновский код вплоть до комментариев в коде. И их успешно можно достать и из py2exe и из cx_freeze и из чего угодно.
| |
|
2.20, Аноним (49), 12:52, 14/11/2021 [^] [^^] [^^^] [ответить]
| +6 +/– |
Если вас не пугает бинарник в полгига конечно. Питоновая программа в бинарном виде… Вы свернули куда-то не туда.
| |
|
3.23, Ant (??), 13:04, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
с испльзованием Numpy подтягиваются интеловские библиотеки MKL... и размер становится 800+ Мб, тогда без UPX не обойтись.
| |
|
4.51, n00by (ok), 15:06, 14/11/2021 [^] [^^] [^^^] [ответить]
| +6 +/– |
Точно, надо пожать файл, что бы наплодить ещё этих грязных страниц, а то 800+ Мб маловато.
| |
|
3.26, Аноним (1), 13:08, 14/11/2021 [^] [^^] [^^^] [ответить]
| –19 +/– |
Во первых не такие уж они и больше. Во вторых сейчас 2k21 и это никого не пугает.
| |
|
|
|
|
7.59, Аноним (1), 15:56, 14/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
И как же так получается что названия 2K–2K21 совпадают со следующим годом после выхода игры? И что характерно компания так делает с 2000 года когда она еще не называлась 2K. Может потому что еще 21 год назад всем нормальны людям было понятно что 2K=2000?
Давай следующее упражнение для твоего мозга WWE 2K14 https://ru.wikipedia.org/wiki/WWE_2K14 в каком году вышла?
| |
|
8.62, Аноним (62), 16:34, 14/11/2021 [^] [^^] [^^^] [ответить] | +3 +/– | Влияние лунного света на рост телеграфных столбов 2К тут НАЗВАНИЕ ИЗДАТЕЛЯ Име... текст свёрнут, показать | |
|
|
6.64, Аноним (62), 16:37, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Нигра с надписью "блейзухи" на футболке в центре обложки.
Безусловно, это прекрасный источник и пример для подражания.
| |
|
7.93, Аноним (-), 09:21, 15/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Тебе надо вступить в партию демократов США - через год будешь уважать негров.
| |
|
|
|
|
3.135, Аноним (135), 23:43, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Если вас не пугает бинарник в полгига конечно
Их не пугает. Им же "поставлять", а не "использовать".
| |
|
2.21, Ant (??), 12:59, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Компилируются ли Python-программ с PyQt, matplotlib, pandas и кучей других библиотек?
| |
|
3.27, Аноним (1), 13:10, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Есть нюансы, например PyQt в абстракции connect надо явно указывать тип данных в сигналах. Еще есть по мелочи. У меня был PySide и да не сразу как есть но после некоторых приседаний всё заработало. А в негуевых либах у меня проблем не было.
| |
3.36, kai3341 (ok), 13:58, 14/11/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Компилируются ли Python-программ с PyQt, matplotlib, pandas и кучей других библиотек?
Если не используешь флаг "follow-imports", то вопросов нет
Иначе необходимо добавить кучу "nofollow-import-to" и исключить сишные либы. Например, greenlet или pandas
А ещё бывает, что в проекте балуются динамическими импортами. Динамический импорт не отработает, если ты не вкомпилишь статически в бандл соответствующую библиотеку флагом "include-module"
Если у тебя проект объёмнее HELLO WORLD, то сборка в один бинарник -- плохая идея, оно просто не соберётся. Рекомендую бить на модули. Для того, чтобы декларативно описать сценарий модульной сборки, я запилил https://pypi.org/project/nuitkabs/ . Если nuitka сопоставима с gcc, то nuitkabs ближе к Makefile. Подрробнее в описании
| |
|
4.58, Аноним (1), 15:51, 14/11/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
На pypi кстати есть такая опция можно написать описание к своему пакету и стороннему человеку будет понятно что пакет делает.
| |
|
5.67, kai3341 (ok), 17:34, 14/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На pypi кстати есть такая опция можно написать описание к своему пакету
> и стороннему человеку будет понятно что пакет делает.
Оно там есть, и намного полнее того, что я написал тут. Спасибо, КЭП
| |
|
|
|
|
|
2.6, Аноним (6), 11:45, 14/11/2021 [^] [^^] [^^^] [ответить]
| –6 +/– |
Си надо еще осилить.
А тут можно буяк-буяк и вперед пользуйтесь.
| |
|
|
4.84, KhabMan (ok), 05:56, 15/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну да. То, что это не ассемблер, делает язык простым, конечно))
Тут кстати парадокс получается. Ассемблер сложный потому, что он простой
| |
|
5.86, n00by (ok), 07:37, 15/11/2021 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ассемблер простой, когда понятно как процессор работает. Для Си execution environment формализован, т.е. более-менее понятно, как работает. Парадокс скорее в том, что остальные "очень простые" императивные языки высокого уровня симулирую машину Тьюринга - некую бесконечную хтонь.
| |
|
|
|
2.11, Аноним (11), 11:56, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Почему нельзя, многие так и делают. На чем писать каждый сам решает, этим вот захотелось так.
| |
2.28, Аноним (1), 13:13, 14/11/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
Наоборот зачем эти полумеры, лучше сразу писать на Электроне.
| |
2.32, BrainFucker (ok), 13:32, 14/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Почему бы сразу не написать на с,
Если уж и менять питон на что-то, тогда уж лучше на Nim хотя бы.
| |
|
|
|
5.133, Прохожий (??), 23:00, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Какие у тебя любопытные ассоциации. Как говаривала одна очень известная личность, кто как обзывается, тот так и называется.
| |
|
|
3.136, Аноним (136), 00:49, 16/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Сразу видно, что тебя минуснули нешарящие :) Nim - офигенная штука, кстати.
| |
|
2.69, Аноним (69), 18:24, 14/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Потому что на питоне я напишу, сдам заказчику, получу вознаграждение, заказчик получит прибыль, программа со временем устареет и все будут довольны. А в это время ты все еще будешь писать ее на своем си.
| |
|
3.72, Аноним (1), 19:25, 14/11/2021 [^] [^^] [^^^] [ответить]
| –6 +/– |
А если писать на раст то тоже будет продолжать писать, но с чувством безопасности.
| |
3.82, Аноним (82), 23:42, 14/11/2021 [^] [^^] [^^^] [ответить]
| –7 +/– |
Я на Delphi напишу в два раза быстрее, красивее и фичастее, чем ты на своем питоне. Но тебе ещё придётся переписывать все с нуля при появлении 3.10
| |
|
4.94, Прохожий (??), 09:41, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не напишешь. Delphi - язык со статической типизацией - больше усилий для написания кода. Компилируемый. Тоже временные затраты - отлаживать дольше, нет возможности быстро запускать отдельные куски кода. По поводу фичастости - это вообще шутка неудачная была? Где Delphi, а где - фичи. Впрочем, может что-то изменилось с тех бородатых времен, когда я смотрел на Delphi.
И ещё я не сказал про гораздо более богатый набор библиотек для Питона. Теперь говорю. Delphi до Питона в этом плане, как от Земли до Луны.
И нет, при появлении Питона 3.10 ничего переписывать не придётся.
| |
|
5.119, anonymous (??), 11:32, 15/11/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
> со статической типизацией - больше усилий для написания кода.
С чего вы взяли, что усилий больше? (а не наоборот)
> Тоже временные затраты - отлаживать дольше
С сего вы взяли? Наоборот проще отлаживать код со внутренними гарантиями.
> нет возможности быстро запускать отдельные куски кода
Unit-тесты уже отменили?
| |
|
6.130, Прохожий (??), 22:31, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> С чего вы взяли, что усилий больше? (а не наоборот)
Да, необходимо уточнение. В больших проектах статическая типизация рулит. В средне-мелких (для чего, собственно, и предназначен Питон) - с ней больше головной боли, чем пользы.
> С сего вы взяли? Наоборот проще отлаживать код со внутренними гарантиями.
Смотрите выше. Если уж так необходим контроль типов, в Питоне есть аннотация типов. Ну и соответствующий инструментарий для контроля.
> Unit-тесты уже отменили?
Их специально писать надо. Но они не всегда нужны: в мелко-средних проектах - не особо. В крупных - да.
Про количество библиотек для Питона и Дельфи и покрываемых ими юзкейсов вы промолчали почему-то. Почему?
| |
|
5.121, Аноним (121), 13:28, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
А почему же тогда с 2.х на 3.х переход был таким, что около 15-20 лет наработок превратилось в тыкву?
Какие такие крутые билблиотеки? Delphi умеет в БД (FireDAC), в графику (включая DirrectX и OpenGL), в сеть (Indy), в dll, в TouchScreen, в Windows/Linux/Android/MaxOS. Время компиляции - секунды. Дебаг вообще смешно. Там рантайм дебаг, хочь пошагово, хочь - по брейк поинту, хоч - Run to Cursor. И в стек посмотреть можно и в регистры CPU и даже в Thread.
| |
|
6.131, Прохожий (??), 22:51, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Дельфи не умеет в линейную алгебру, символьную математику, в машинное обучение. Библиотеки для Питона (написанные или на Фортране, или на C) - умеют. Питон в данном случае сильно упрощает жизнь учёным (они не профессиональные программисты, а работу делать надо).
Питон умеет в скриптование - он интерпретируемый язык, хотя можно уже и компилировать. Дельфи - не умеет.
Ещё одна сфера Питона - прототипирование. Наваял скелет, стабилизировал API - и давай на чём-то ещё переписывать, более строгом и быстром. Иной раз существенно экономит время.
Есть также веб. Средне-мелкие сайты - его стихия, хотя есть и конкуренты, конечно. Про сайты на Дельфи ничего не слышал. Может не там смотрел.
| |
|
7.149, Аноним (82), 21:30, 17/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, не ваша беда, что вы плохо знаете делфи. В определённый этап своей жизни нужно было сделать выбор и вы его сделали правильно. Популярность + деньги. Но это не означает, что делфи не умеет в алгебру (math) в скрипты (Pascal script), Web (сам тоже не видел, но в компонентный базе ВСЕ для этого есть), вот ml похоже действительно не конёк паскаля. А вот учёные, отлично с MathLab справлялись, по крайней мере теплофизики (ни строчки кода знать не нужно)
| |
|
8.156, пох. (?), 12:35, 19/11/2021 [^] [^^] [^^^] [ответить] | +/– | это тебе повезло что не видел Мы такого монстра образца примерно 1998го года - ... текст свёрнут, показать | |
|
|
|
|
|
5.120, Брат Анон (ok), 12:10, 15/11/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
#яснопонятно. В отладчики мы не умеем и даже не слышали. Впрочем, для этого есть тестирование (см. пункт выше).
| |
|
|
|
2.134, Прохожий (??), 23:17, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Потому что возиться с компиляторами, отладчиками, линковщиками, указателями, макроснёй и прочей х-тенью полувековой давности мало у кого есть желание среди нормальных современных людей. До некоторых особо одарённых никак не дойдёт, что идеальное программирование - это когда компьютер понимает мысли человека, а не когда человек насилует свой мозг, чтобы разобраться в том, что нужно компьютеру.
Си, кстати, пока никуда не делся. Однако же, надеюсь, в относительно скором будущем его всё-таки похоронят более современные и удобные языки. Процесс уже начался, кстати. Но луддиты упорно стараются не обращать на него внимания, пряча голову в песок, как тот страус, испугавшийся чего-то ранее невиданного. А поезд прогресса тем временем проходит мимо. Ту-ту-у....
| |
|
1.37, Урри (ok), 14:07, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> Оптимизация пока применима только к коду, компилируемому при помощи GCC.
Подскажите им, что для clang оптимизация включается так же - дописать "-O3" к командной строке.
| |
|
2.43, Аноним (49), 14:31, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Пго есть только у гцц, насколько я знаю. В том числе со сбором информации через автопрофилировщик, но прогнать тесты более актуально. Примерно с гцц-9 пго юзать одно удовольствие, в генту можно любой пакет собрать с пго (правда вручную, при обновлении придётся подменять флаги опять). на практике это конечно пара процентов, но для -O3 разница в скорости запуска и исполнения до 60% доходит (или около того). Вообще, на сегодня нет никакого смысла использовать шланг, раньше он был полезен дополнительными проверками и читаемыми сообщениями об ошибках, но с тех пор гцц улучшили. По скорости компиляции гцц тоже лучше (шланг замедлили основательно).
| |
|
|
4.79, Аноним (49), 21:45, 14/11/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
У меня не получилось. В gcc тоже пго было сто лет назад, но до 9 оно было через одно место. Свой софт можно было с пго собрать обложив скриптами, но вот так чтобы любую прогу собрать добавив 2 ключа -- нет.
| |
|
|
|
|
2.45, Аноним (49), 14:35, 14/11/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это ничего не даст. Компиляция сабжем только незначительно ускоряет запуск и больше ничего. Нивелируется недостатками в виде жжора памяти и дополнительным временем на чтение с диска.
| |
|
3.56, kusb (?), 15:30, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Странно, не скомпилированный код же по идее должен тратить такты на обдумывание интерпретатором каждой команды?
| |
|
4.60, n00by (ok), 16:12, 14/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хороший вопрос.
$ cat loop.py
#!/usr/bin/python3.9
import time
t0= time.time()
print("Hello")
j = 0
for k in range(0,10):
for i in range(0,50000000):
j = i - j
j = j + k
t1 = time.time() - t0
print("Time elapsed: ", t1)
$ ./loop.py
Hello
Time elapsed: 88.54895782470703
$ nuitka3 --run loop.py
[...]
Hello
Time elapsed: 49.21110701560974
| |
|
5.61, n00by (ok), 16:20, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ещё немножко этих интерпретаций
$ cat loop.ref
#!/bin/refal
Go = <цикл-1 0 0>;
цикл-1 {
10 ?k = ?k;
?k ?j = <цикл-1 <?k + 1> <<цикл-2 0 0> + <?j + ?k>>>;
}
цикл-2 {
50000000 ?j = ?j;
?i ?j = <цикл-2 <?i + 1> <?i - ?j>>;
}
$ time ./loop.ref
real 0m51,589s
user 0m51,579s
sys 0m0,007s
| |
|
|
7.109, n00by (ok), 10:28, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо. Сейчас протестирую. Компилируется это pypy3 дольше чем MLton, сразу видно, крутая штука.
| |
7.116, n00by (ok), 11:02, 15/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кстати, pypy3 loop.py даёт 1.259338617324829 сек.
На той же машине, где python3.9 давал 88.54895782470703
а nuitka3 -- 49.21110701560974
$ pypy3 loop.py
Hello
Time elapsed: 1.1507835388183594
Теперь другой вопрос: а зачем nuitka3, когда есть pypy3?
| |
|
|
9.148, n00by (ok), 05:44, 17/11/2021 [^] [^^] [^^^] [ответить] | +/– | А какую задачу это решает Скрыть исходный текст скрипта от посторонних глаз Ил... текст свёрнут, показать | |
|
|
|
6.95, Прохожий (??), 09:53, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
А где print("Hello Word")? Где измерение времени средствами языка? Про pypi тебе уже написали.
| |
|
7.97, n00by (ok), 10:03, 15/11/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А где print("Hello Word")?
print("Hello")
> Где измерение времени средствами языка?
import time
t0= time.time()
print("Time elapsed: ", t1)
> Про pypi тебе
> уже написали.
Вы и вопрос не видели, на который я отвечал?
| |
|
|
9.101, n00by (ok), 10:12, 15/11/2021 [^] [^^] [^^^] [ответить] | +/– | А зачем Включающий время трансляции результат вполне устраивает Догадаться, за... текст свёрнут, показать | |
|
|
|
|
|
|
15.117, n00by (ok), 11:19, 15/11/2021 [^] [^^] [^^^] [ответить] | +1 +/– | В 60 я сравнил python3 9 и nuitka3 Результат 88 5 и 49 2 Что странно для комп... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
2.53, Аноним (1), 15:23, 14/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Да только откомпилить для каждого дистрибутива, версии подверсии, под каждое ядро, UEK. И не факт что оно будет один в один работать так же как задумано на обычном питоне.
| |
|
1.70, all_glory_to_the_hypnotoad (ok), 18:41, 14/11/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> ... повышение производительности на 335%
Т.е. всего лишь в 3.0-3.5 раз. Питон во столько можно ускорить просто оптимизациями гогнокода. Ради такого мизерного прироста компиляция не нужна.
| |
|
2.74, Аноним (1), 19:32, 14/11/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
3 это в синтетике, на самом деле меньше. Подсказка: попробуй откомпилить джангу и когда после танцев это получится узнай что можно использовать в два раза меньше виртуалок для той же производительности.
| |
2.80, Vkni (ok), 22:09, 14/11/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Т.е. всего лишь в 3.0-3.5 раз. Питон во столько можно ускорить просто оптимизациями гогнокода. Ради такого мизерного прироста компиляция не нужна.
Компиляция, всё-таки, бесплатна по сравнению с переписыванием говнокода.
| |
|
|
4.89, Аноним (1), 08:44, 15/11/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это только если ты операционную системы решил скомпилировать.
| |
4.125, Vkni (ok), 20:03, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Компиляция не бесплата т.к. для неё нужно навернуть инфраструктуру, которой в обычной
> питонячке нет
Она сильно беспланее переписывания говнокода на динамически типизированном языке. Многие питонисты кивают на магию тестов, но сложно представить, что говнокод окружён мегатестами. Кстати, unit-тесты придётся тоже переписывать, т.к. архитектурку придётся подровнять.
| |
|
|
2.112, Щ (?), 10:35, 15/11/2021 [^] [^^] [^^^] [ответить]
| +/– |
Это вы описали повышение производительности на 235%
| |
|
|