The OpenNET Project / Index page

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

В Python добавлен JIT-компилятор

10.04.2024 09:14

Доступен альфа выпуск языка программирования Python 3.13.0a6, который примечателен включением в состав ветки 3.13, на основе которой формируется осенний стабильный релиз Python 3.13, экспериментальной реализации JIT-компилятора, позволяющего добиться существенного повышения производительности. Для включения JIT в CPython добавлена сборочная опция "--enable-experimental-jit". Для сборки CPython с JIT требуется установка LLVM в качестве дополнительной зависимости.

Процесс трансляции машинного кода в JIT построен c использованием архитектуры "Copy-and-Patch", при которой при помощи LLVM собирается объектный файл в формате ELF, содержащий данные об инструкциях байткода и информацию о необходимой замене данных. JIT заменяет сгенерированные в ходе интерпретации программы инструкции байткода на их представления в машинном коде, попутно подставляя необходимые для вычислений данные (JIT копирует готовые шаблоны уже скомпилированных функций и подставляет в них необходимые значения, такие как аргументы и константы).

Предложенный JIT примечателен очень высокой скоростью генерации кода, простотой сопровождения и полной интеграцией с интерпретатором. По сравнению с компиляцией в WebAssembly (Liftoff) новый JIT генерирует код в 5 раз быстрее, а результирующий код работает на 50% быстрее. При сравнении с традиционным JIT-инструментарием от проекта LLVM, добавленный в CPython JIT обеспечивает в 100 раз более быструю генерацию кода и на 15% более быстрый результирующий код.

  1. Главная ссылка к новости (https://pythoninsider.blogspot...)
  2. OpenNews: Для Python предложен JIT-компилятор, использующий технику copy-and-patch
  3. OpenNews: Выпуск Nuitka 2.0, компилятора для языка Python
  4. OpenNews: 7% разработчиков продолжают использовать Python 2
  5. OpenNews: Выпуск языка программирования Python 3.12
  6. OpenNews: Опубликован план избавления CPython от глобальной блокировки интерпретатора
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60966-python
Ключевые слова: python, jit
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (195) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 09:30, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +23 +/
    Ну вот, то самое Счастливое Будущее уже наступило! Поздравляю всех товарищей питонистов!
     
     
  • 2.16, Аноним (-), 10:33, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +28 +/
    > Ну вот, то самое Счастливое Будущее уже наступило! Поздравляю всех товарищей питонистов!

    Вот так плавно и постепенно, гадюка легким движением руки превратилась в элегантную... жабу!!!

     
     
  • 3.29, нах. (?), 11:04, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ну не совсем. Собственно, чего удивительного - если аксолотля не п-дить раз в три дня палкой и воду ему нагреть в аквариуме до теплой - он отбрасывает свои чудесные веточки-жабры и пол-хвоста, и из аквариума вылазит мерзотная жырная ящерица, к тому же еще и ядовитая.

    Вот и получили.

     
     
  • 4.55, анон (?), 12:25, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    саламандра :)
     
  • 3.173, User (??), 09:53, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Один groovy у нас уже есть - да и тот уже нах не нужен
     
  • 2.42, Аноним (42), 11:33, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ничего, вы его разгоняете, а он растягивается ;)
     
  • 2.50, GG (ok), 12:00, 10/04/2024 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 2.68, Вы забыли заполнить поле Name (?), 13:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ты про завязку на ллвм? Такое себе будущее.
     
  • 2.88, Бывалый Смузихлёб (ok), 14:34, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    странно что в питоне не было даже минимальных базовых нюансов
    сколько же бабла ввалили на его продвижение...
     
     
  • 3.89, Аноним (42), 14:45, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так это когда было, а сколько лет с тех пор прошло?
     
  • 3.95, Прадед (?), 15:07, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо что хоть что-то было!!
     
  • 3.172, User (??), 09:51, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да оспыдя. Большинство из тех, кому прямнадо было - брали кто pypy, кто pyston, а кто и вовсе (Ха-ха, неудачники!) nuitka'у - делов-то? Иное дело, что "прямнадо" оно не только лишь всем да и результат был не то, чтобы однозначно очень...
     
  • 2.133, Аноним (133), 20:16, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    JIT - зло которое надо искоренять!
     

  • 1.4, anonymous (??), 09:42, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Насколько я помню, просто так JIT не бывает, и за его использование приходится платить небольшим оверхедом по процессору (счётчики вставлять), но и заметным оверхедом по памяти.

    Если питн продолжит развиваться в том направлении, то станет явой, и я не уверен, что это так уж и хорошо.

     
     
  • 2.6, test (??), 09:59, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы бы лучше посчитали оверхед у JS, то не так сильно удивлялись бы.
     
     
  • 3.53, Аноним (53), 12:03, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Зачем мне JS? Я его ненавижу даже сильнее чем Python!
     
     
  • 4.96, Прадед (?), 15:08, 10/04/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.163, Аноним (163), 06:48, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что Вам по душе?
     
  • 2.18, Аноним (-), 10:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Насколько я помню, просто так JIT не бывает, и за его использование приходится
    > платить небольшим оверхедом по процессору (счётчики вставлять), но и заметным
    > оверхедом по памяти.

    Во первых генерить оптимальный код - нифига не lightweight операция. И одно дело если это билдферма отпедалила, и другое - если лично вы. Во вторых RAM и CPU на это вполне себе уходит - и ява, или накрайняк, яваскрипт - таки получаются, да.

    Имела жаба гадюку - а теперь, вот, вывелось нечто земноводное непонятного типа :)

     
  • 2.149, chf (?), 02:07, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, Python движется в сторону становления Java-подобным языком. Возможно, и vm будет единой.
     

  • 1.5, ИмяХ (ok), 09:42, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    >>код работает на 50% быстрее.

    То есть код будет тормознее не в 200 раз, а всего лишь в 133 раза

     
     
  • 2.12, AS (??), 10:26, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –6 +/
    200 - 100%
    133 - X%

    я в 3 классе, но мне кажется, что X точно не 50%

     
     
  • 3.17, Аноним (17), 10:35, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно, что оно в 65000 раз медленнее, чем С.
     
     
  • 4.19, 12yoexpert (ok), 10:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    норм, еще 535 раз в запасе
     
  • 4.21, Аноним (21), 10:40, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если не уметь писать, то и С медленнее, чем С
     
     
  • 5.24, 12yoexpert (ok), 10:56, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты так мудр, будь моим сенсеем. Я преисполнился в твоей философии
     
  • 5.32, Аноним (32), 11:15, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я как-то раз ускорил побайтовый перебор текста (и собственно исполнение наиболее тормозной части) в  10050 раз добавив register к переменной-счётчику, компилятор до этого догадывался только с PGO. Уметь писать мало, надо быть умнее компилятора, и это уже доступно не каждому. После встраивания этого кода в код на питоне, исполнение было всё ещё быстрее и эффективнее, чем просто на си.
     
     
  • 6.35, Аноним (32), 11:16, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >быть умнее компилятора

    к примеру, компилятор имеет право игнорировать register, и тут придётся его натягивать.

     
  • 6.45, Аноним (45), 11:37, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Писал перебор текста на ассемблере, это было быстро. И оперу совсем не ел лишнего.
     
     
  • 7.107, Пряник (?), 16:29, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так, если ты в ассемблере не клал в оперу ничего, то там и нет.
     
  • 7.108, Пряник (?), 16:31, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А системные вызовы потребляют оперу системы, а не процесса.
     
     
  • 8.116, Аноним (45), 17:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ок, плохо что таблица сисколов разная для 64 битных и 32 битных систем это ка... текст свёрнут, показать
     
  • 6.97, Прадед (?), 15:13, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не только в этом. Джит может подхватить текущую архитектуру цпу со всеми бонусными фишками типа последних SIMD и ещё бг знае чего. Что ему как правило не помогает, но учтите!!
     
  • 5.34, _kp (ok), 11:16, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как бы Вы хорошо не писали на Си, догадываетесь же, что есть области и где Си неуместен.
    И точно так же, Питоны и Jit'ы применимы не везде.

    Но у Питона, в виде тормозного скрипта, есть существенный плюс, когда в ПО легко изменить скриптовые части.

    А если ПО тяжелое, и компиляция крайне желательна, так для этого есть и более эффективные языки.

     
  • 3.230, ИмяХ (ok), 11:04, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Походу, задачку про сушёные грибы ты во втором классе прогулял.
     

  • 1.8, Пряник (?), 10:11, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть каждый раз компилировать и выполнять инструкции быстрее, чем интерпретировать? Хм...
     
     
  • 2.13, Аноним (13), 10:26, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем каждый раз? Один раз функцию скомпилировал и исполняй её хоть 100 000 раз.
     
     
  • 3.106, Пряник (?), 16:25, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Но код питона динамический, eval() там, все дела. Заново компилировать.
     
  • 2.33, Аноним (33), 11:15, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть каждый раз компилировать и выполнять инструкции быстрее, чем интерпретировать? Хм...

    А ты не догадываешься, что код может выполняться в цикле?

     
     
  • 3.47, Аноним (45), 11:42, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что делать те у кого нет циклов? Может например использовать нормальный язык? Например го.
     
     
  • 4.75, Аноним (13), 14:06, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отвечаю для всех кто не знает как работает JIT. Обычно компилируется не весь код, а код который вызывался много раз и который будет выгоднее сначала скомплировать, а потом быстро исполнять.
    JIT в среднем работает быстрее интерпретатора, иногда можно ускорить еще принудительно отключая JIT для некоторых функций.

    https://www.baeldung.com/jvm-tiered-compilation

     
     
  • 5.84, Аноним (45), 14:31, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дубль два. Зачем тебе интерпретатор если ты куда-то торопишься? Может сразу брать нормальны
     
     
  • 6.85, Аноним (45), 14:31, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    й быстрый язык. Например го.
     
     
  • 7.129, Аноним (129), 19:49, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да не вопрос. Одна проблема, то что на питоне реализуется 10-ю строками кода, на go не умещается в 30.
     
     
  • 8.148, 1апреля (?), 01:49, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Бывает и наоборот ... текст свёрнут, показать
     
  • 8.224, Илья (??), 13:35, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обычно так говорят разработчики , которые выучили один только пэйфон Код на н... текст свёрнут, показать
     
  • 4.103, Аноним (42), 15:37, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Gо, нормальный язык? /0
     
     
  • 5.111, _ (??), 16:59, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да - нормальный. +100500*100500 :-р
    А то что у неГо есть свои закидоны ... а у кого их нет? Но струнимент - рабочий.
    На нем к примеру софта написано неслабо, которым _уже_ миллионы мух пользуются :)
    ... в отличие от к примеру раста, который почти ровесник, а софта нетЪ, акромя парочки утилит импортозамещающих такое-же, но на С\С++ :)))


    PS: Из питона делают js ... ну такое ... один js у нас уже есть, и "там своя атмосфЭра"(С)

     
     
  • 6.121, Аноним (121), 18:12, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > в отличие от к примеру раста, который почти ровесник, а софта нетЪ

    "Фантазё-о-о-о-ор, ты меня называла-а-а-а-а"

    Спроси хотя бы у гугла (компании, а не поисковика), в чем ты неправ насчёт раста.
    Как тебе там, в твоём отсталом маня-мирке, живётся?

     
     
  • 7.138, Аноним (138), 22:32, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну зачем вы прикалываетесь над вьюношей? Мальчик долго изучал Go, и теперь не знает что будет, если Go не будет. Он просто боится и свои страхи транслирует здесь в хвалебных речах для Go - языка корпорации Google, собирающей ваши личные данные, письма, запросы... пусть даже, если это они делают в последнее время на Rust.
     
     
  • 8.182, Пряник (?), 12:17, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли он долго изучал Go Он создавался лёгким для изучения И с начала хайпа ... текст свёрнут, показать
     
  • 6.132, Аноним (132), 20:10, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вон, растдеск хорошо скаммеры используют
     
  • 5.117, Аноним (45), 17:37, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно даже сказать единственный нормальный. Там нет таких закидонов как сабж из новости.
     
  • 5.120, Аноним (-), 17:56, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Он не просто нормальный, он практически идеальный. Я когда залезаю в гирлянды async await в JS и Питоне, мне после этого в душ хочется сходить.
    Спасибо Робу Пайку за горутины и каналы!
     
     
  • 6.150, Аноним (150), 02:09, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гирлянды и async await? Вы точно про js?
     
  • 6.183, Пряник (?), 12:21, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если изучить один раз, то ничего сложного. Видишь async def? Это сопрограмма. Видишь await? Это вызывают сопрограмму. А в каком-нибудь __main__ все сопрограммы помещаются в задания и вызывается asyncio.run.
     
     
  • 7.211, Аноним (-), 20:47, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты вообще видел Го? Там к корням UNIX и Plan 9 возвращена функциональность конкурентности и горутины общаются между собой каналами, а не вот этим вот плохой вещью.
    https://habr.com/ru/articles/466337/
    Если ты считаешь, идеологию конкурентности в JS и Питоне - ок, то рекомендую немного поделать вещей на Го, и ты поймешь, насколько это тупая вещь.
     
     
  • 8.220, Пряник (?), 09:50, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сопрограммы вообще нетипичная вещь Обычные подпрограммы с возможностью по желан... текст свёрнут, показать
     
  • 4.195, Joe Ford (?), 16:32, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    go - куцый кастрат, работающий медленнее C#

    если принципиально нужно страдать, то хотя бы за что-то существенное - Rust

     
     
  • 5.197, Аноним (197), 16:38, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > если принципиально нужно страдать, то хотя бы за что-то существенное - Rust

    а где здесь "существенное"?


     

  • 1.22, Аноним Максим (?), 10:47, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Админы, напишите про PEP 730 (https://peps.python.org/pep-0730/) и PEP 738 (https://peps.python.org/pep-0738/), довольно таки интересная тема.
     
  • 1.23, Аноним (32), 10:52, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >позволяющего добиться существенного повышения производительности

    пруф или не было, на типичных применениях jit это жор памяти, процессора, и тормоза, к чему эти фантазии в тексте?

     
     
  • 2.37, Агент рептилоидов (?), 11:19, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Точна! Его господа наши придумали всем на погибель!

     
  • 2.38, Аноним (33), 11:23, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > на типичных применениях jit это жор памяти, процессора, и тормоза

    Ну так сообщи об этом разработчикам CPython. Ты же видишь: они там все идиоты, без тебя ничего не понимают.

     
     
  • 3.39, Аноним (32), 11:28, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А то они не в курсе. У майкрософта не типичные применения для питона.
     
     
  • 4.63, Аноним (45), 13:22, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У них много ресурсов есть что жрать.
     
     
  • 5.112, _ (??), 17:02, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Им надо чтоб твой инстанс в Azure крутящий твою крстылемещалку-на-пеЙтоне жрал х10 :)
    Но если подкрутить только у себя - все уйдут в AWS\GCP ... но это же луДший друг опенсорца, поэтому подкрутят ВСЕМ, чтоб ВСЕМ стало луДше! :-D
     
  • 2.196, Joe Ford (?), 16:34, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    посмотри сравнения скорости бидона с PHP или Ruby, где JIT применяется уже очень давно
     
  • 2.212, Илья (??), 21:11, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Jit наиболее хорошо для сервера подходит, где процесс запускается один раз а потом неделю пашет.

    Но кто в здравом рассудке будет на пайфоне сервер писать?

     

  • 1.40, Аноним (42), 11:31, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для работы JIT требуется установка LLVM в качестве дополнительной зависимости.

    Ясно, понятно, обойдусь без такого JIT. Если нужно будет ускорить, тогда уж лчше Анютка.

     
     
  • 2.44, devl547 (ok), 11:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    llvm зачастую и так есть в системе. Например, его mesa тянет за собой.
     
     
  • 3.52, Аноним (42), 12:02, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня нет.
     
  • 3.66, Аноним (66), 13:34, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На локалхосте может и так, а на серверах llvm обычно нет
     
     
  • 4.222, Советский инженер (ok), 09:57, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Для сборки CPython с JIT требуется установка LLVM в качестве дополнительной зависимости.

    шо не ясно? просто новый питон без LLVM не установится.
    так и появится LLVM на сервере.

     
  • 3.98, Прадед (?), 15:14, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это девелоп машина. На девайсе ни месона ничего
     
  • 3.144, Аноним (-), 23:29, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > llvm зачастую и так есть в системе. Например, его mesa тянет за собой.

    Он ща весит более 60 метров. Это уже скоро начнет реально, жабу, догонять.

     
  • 2.174, User (??), 09:59, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мхва-ха-ха! Вот так вы, "ускорятели", и палитесь...
     

  • 1.41, zog (??), 11:33, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Разве его там раньше не было? Очень странно. Как же он стал таким популярным без JIT?
     
     
  • 2.43, devl547 (ok), 11:35, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Были сторонние JIT, тот же PyPy.
     
  • 2.54, хрю (?), 12:11, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    потому что jit нужен большим долго работающим программам, пистон имно вообще не про это. питон это современный кроссплатформенный бейсик, в этом виде он очень не плох, зачем из него делать java понять сложно.
     
     
  • 3.57, zog (??), 12:38, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    JIT нужен всем, кто заботится о производительности и отзывчивости. К тому же JIT уже давно научили сохранять результат своей работы, что делает его актуальным не только для больших и долго работающих программ.
     
     
  • 4.59, Аноним (45), 12:39, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Фраза греть кеши заиграла новыми красками.
     
  • 4.71, Аноним (66), 13:40, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > JIT нужен всем, кто заботится о ... отзывчивости.

    Вот им как раз JIT не нужен, JIT даёт только доплнительные задержки и ухудшает ~ 99 % -ый персентиль. Хорошая особенность CPython это равномерные и предсказуемые тормоза. Для отзывчивости можно использовать только ЯП без JIT и без GC.

     
  • 4.128, хрю (?), 19:27, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > JIT нужен всем, кто заботится о производительности и отзывчивости. К тому же
    > JIT уже давно научили сохранять результат своей работы, что делает его
    > актуальным не только для больших и долго работающих программ.

    Хлупость. От jit производительность могут получить только большие и долгоработающие приложения, остальные её не получат, да и бейсику не нужна производительность, а нужна понятность и быстроекодонаписание, а отзывчивость вообще не про jit ни в каком виде.

    Есть мнение, что jit это какая-то манта. Мало кто понимает, что это и как работает, но все уверены, что она решает все проблемы.

     
  • 3.58, Аноним (45), 12:38, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что питон второй лучший язык для всего.
     
  • 2.67, Аноним (66), 13:36, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Удобный ЯП для нетребовательной автоматизации, нормальная замена bash портянкам. И хорошая стандартная библиотека. Так и взлетел
     
     
  • 3.141, Аноним (138), 22:42, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще изначально он предназначался для прототипирования, типа - пришли к клиенту, пообщались, выяснили требования, что-то по-быстрому набросали на Python, показали клиенту, клиент доволен, переписали полностью на С++ или только критические участки.

    А потом производительность процессоров так рванула, что мелко-средних клиентов удовлетворял и тормознутый Python, который оказался тормознутее даже полностью интерпретируемого VBScript, не говоря уже о VBA с его p-кодои или cкомпилированном в нейтив Visual Basic.

    И я просто был в шоке, когда это "чудо" начало захватывать ИТ-область с его повадками и неправильными парадигмами написания каких-хочешь программ левым пальцем недоучившегося студентоса.

     
     
  • 4.192, anonymous (??), 15:35, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вообще то ученые проталкивали, удобно данные экспериментов обрабатывать не изучая ассемблеры, кстати именно по этому в питоне мат. библиотеки такие развитые и вылизанные. Так же как и WWW от них.
     
  • 4.200, Аноним (66), 17:40, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще изначально он предназначался для прототипирования...

    Нет. В наше же время все могут воспользрваться хотя бы википедией и посмотрпеть как было на самом деле. Зачем выдумываешь? Ладно, чукча, видимо, не читатель, давай помогу...

    > We needed a better way to do system administration than by writing either C programs or Bourne shell scripts, since Amoeba had its own system call interface which wasn’t easily accessible from the Bourne shell. My experience with error handling in Amoeba made me acutely aware of the importance of exceptions as a programming language feature.

     
     
  • 5.215, Аноним (138), 07:23, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Придумать они его могли по любому поводу, типа чтобы за пивом коллегам не бегать. Суть не в этом. А суть в том, что когда они начали продвигать это поделие в массы, то лозунг Гвидо и его подельников был "Python - язык для быстрого прототипирования", пока ваши конкуренты пишут на С++ вы уже показываете клиенту свою программу. Best Time to Market. Как-то так.
     
     
  • 6.228, Аноним (66), 02:52, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И суть его осталась ровно такой же ибо для прототипирования абсолютно не подходит. На любом другом ЯП разработку нужно начинать полностью с нуля, наработки на питоне нельзя больше никуда перенести.
     
  • 6.229, User (??), 08:14, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ... но приводить подтверждения своим словам я конечно же не буду.
     
  • 2.190, Аноним (190), 15:26, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он стал популярным как язык-клей, писать код где не упираемся в проц (когда вы ждете чего-то из сети или читаете с диска, нет разницы, есть jit или нет). А где упираемся - этот кусок переписывается на C или берется из готовых библиотек с нативным кодом.

    Т.к. питон не джава и не C#, там нет виртуальной машины / сэндбокса / причин использовать managed-реализацию вместо нативной. Приличная часть стандартной библиотеки написана нативным кодом. И реальные программы используют кучу библиотек написанных на C - везде, где критична производительность. А перекидывать данные между C'шными реализациями и писать высокоуровневую логику он и без JIT прекрасно справляется.

     
  • 2.214, Илья (??), 07:06, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    5-7 лет назад инфоцыгане резко открывать курсы по пайфону "стань программистом за две недели".

    Люди ломанулись туда и всё начало реверберировать. По сути пэйфон популярен потому что популярен.

    Кто не согласен - пожалуйста поясните, какие у пэйфона конкурентные приемущества?

     
     
  • 3.232, Прохожий (??), 06:52, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты, видимо, всё-таки Пайтон имел ввиду, говоря "пэйфон". Популярен он потому, что прост в обучении, прост в сопровождении, и его библиотека стандартная довольно-таки богата на функциональность, что позволяет очень быстро писать код в разных областях, при условии, что высокая производительность конечного продукта не нужна, а она таки не нужна примерно в 70-80 процентах от общего числа программ (где-то видел диаграмму такую).
    Большое количество курсов в случае Пайтона - это уже производная от факторов, перечисленных выше.
     

  • 1.61, Вы забыли заполнить поле Name (?), 13:08, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Самое интересное как приняли изменение: без pep, что без обсуждений в рассылках, просто чел из мс пришёл, сделал пр и его приняли. Не зря мс взяли Гвидо на работу, не зря!

    Жду подключены к работе Андреаса Хелсберга.

     
     
  • 2.74, Аноним (66), 13:43, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    PEP это изменения в ЯП, а в новости опционально добавляется новый режим работы реализации без изменений в самом ЯП и его инфраструктуре.
     
     
  • 3.127, Вы забыли заполнить поле Name (?), 19:10, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо оправданий, все все понимают. Кстати, про pep даже релиз инженер из гугла возмутился в pr. Им явно виднее ю, чем тебе.

    Ну и есть два новых Пепа про поддержку мобилок, так что ты не прав.

     

  • 1.72, Golangdev (?), 13:42, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А подскажите плз, знающие, .pyc файлы - это что ? Не тоже ли самое ?
     
     
  • 2.78, economist (?), 14:21, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это байт-код, ускоряющий частую загрузку, не то.
     
     
  • 3.105, Golangdev (?), 15:54, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    спасибо!
     
  • 2.80, Аноним (45), 14:22, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это байткод он только чтобы каждый раз не парсить текст.
     

  • 1.73, Аноним (73), 13:43, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, ну так если теперь пихтон компилится в нативный код, может и ai стаф не будет требовать суперкомпьютер для работы?)
     
     
  • 2.79, economist (?), 14:22, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    AI будет в Mojo
     
     
  • 3.92, Аноним (42), 14:59, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Mojet и будет, а может и нет. А то Юлия уже обещала Петон из науки изгнать.
     
  • 2.151, Аноним (150), 02:29, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не будет. Он и так на с/с++ написан. На Python лишь биндинги.
     

  • 1.77, Аноним (77), 14:20, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда уберут табы?
     
     
  • 2.86, Аноним (66), 14:32, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    +, было бы киллер фичей наконец таки сделать диалект питона на { }
     
     
  • 3.93, Аноним (42), 15:00, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не, это уже будет НеПитон.
     
  • 3.101, Аноним (129), 15:33, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Играйтесь в скобочки в я языках со скобочками. Их более чем достаточно.
     
     
  • 4.102, Аноним (42), 15:34, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ага, а то ещё желающие begin/end прибегут.
     
  • 3.113, Аноним (113), 17:06, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://pypi.org/project/Bython/
     
  • 3.145, Аноним (-), 23:30, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > +, было бы киллер фичей наконец таки сделать диалект питона на { }

    Открой для себя go :). Для кого гугол старался, спрашивается?!

     
     
  • 4.176, User (??), 11:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для себя, вестимо. И за вычетом достаточно узкой ниши - примерно "не конкурент".
     

  • 1.90, Аноним (90), 14:47, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Свой JIT не могли написать что ли? Теперь всем эту монструозную либу компилять каждый раз по миллиарду часов при сборке (сейчвс пока необязательна, но в будущем будет).
     
     
  • 2.99, Прадед (?), 15:16, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хи-хи ха-ха, делов-то
     
     
  • 3.104, Аноним (42), 15:45, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно подсмотреть в PyPi и даже что-то скопипастить.
     
     
  • 4.160, Прадед (?), 06:07, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаком, но предвижу
     

  • 1.94, Аноним (94), 15:01, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Вот что Mojo животворящий делает! Как только появился единый перспективный язык программирования способный заменить Python и Rust, засидевшиеся разработчики сразу зашевелились и начали вводить новые фичи, фиксить уязвимости.
     
     
  • 2.110, Пряник (?), 16:40, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тырят друг у друга идеи. Это Open Source животворящий.
     
  • 2.114, Аноним (113), 17:08, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В научных вычислений сейчас лучшая связка Julia + Rust
     
     
  • 3.125, Аноним (66), 18:56, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Научные вычисления приговорены к вечному страданию на мусорных ЯП. Это про Julia, если что. Показательно, что среди всей этой кодлы не находится достаточное кол-во вменяемых людей для разработки нормального ЯП
     
     
  • 4.131, Golangdev (?), 19:56, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а всё почему - там недостаточно денег и корпораций, на потсоянной основе. разовые гранты не способствуют созданию/исправлению языков
     
     
  • 5.142, Аноним (138), 22:47, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перцы, которые пилят Julia изначально пилили какую-то версию Lisp. Потом они решили, что надо сверху накидать процедурно-обектного синтаксиса, обозвать это Julia и продать. Получилось не очень. Фортран как-то целостнее смотрится и логичнее (но конечно более ограничен своими границами, заложенными еще ранее - в основном вектора и матрицы, остальное много труднее, хотя и легкий ООП туда завезли)
     
  • 4.216, Илья (??), 07:58, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вменяемых языков бесконечное количество на самом деле. Просто у научных работников как правило нету понимания, какой инструмент выбрать. Они же не программисты.

    Возьмите хоть тот же f#. Строго типизированный, притом не требует указания типов, конпелируется в АОТ. синтаксис крайне лаконичный. По идее он должен быть на месте пэйфона сейчас. Но, увы, микрософт допилили дотнет только недавно, а ниша уже занята

     

  • 1.100, Прадед (?), 15:20, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Не знаю, вроде все любят питона, а я не особо.. Какой-то он то тут то там, вечно проблемы какие-то.
     
     
  • 2.109, Пряник (?), 16:38, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Любят, потому что на питоне быстро делается рабочая программа. И выполняет любые задачи. А скорость и безопасность можно и потом допилить уже, если задача того стоит.
     
     
  • 3.115, _ (??), 17:19, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Любят, потому что на питоне быстро делается рабочая программа.

    Быстро - да, рабочая - "это вам повезло"(С)Профессор анатомии
    >И выполняет любые задачи.

    Выкладывай свой девайс драйвер для ведра :) Обосрамс?
    >А скорость и безопасность можно и потом допилить уже, если задача того стоит.

    Перевожу с айтишного на русский:
    А скорость и безопасность идут лесом, у меня в жЫре ещё 20 тасок весит, а вертухаям привесли новенькие ногайки! :(
    Впрочем - перебор. Такая бнопня будет хоть на чём пиши :)

     
     
  • 4.119, Аноним (-), 17:46, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это явно профессор кислых щей писал _- На питоне рабочая программа получится в ... большой текст свёрнут, показать
     
     
  • 5.170, Аноним (45), 09:09, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты что в бюджетных организациях никогда не работал?
     
  • 4.122, нах. (?), 18:22, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Выкладывай свой девайс драйвер для ведра

    так там эти... армотрахатели почти ж выложили (в смысле у них на самом деле был и работал прототип на впихоне - к счастью для нас, все же они использовали язык быстрого прототяпляпирования по назначению и потом пошли все переписывать на хруст, с чем и пропали)

     
     
  • 5.123, Аноним (-), 18:52, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > с чем и пропали

    В смысле пропали?
    Они как раз его закончили и даже прошли сертификацию Кроноса.
    Это тебе не хухры-мухры.

     
     
  • 6.124, нах. (?), 18:56, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "И вот все об этом человеке".

    Ачивка анлокнута, можно продаваться подорого какому-нибудь ibm.

     
     
  • 7.223, Аноним (-), 11:41, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > "И вот все об этом человеке".
    > Ачивка анлокнута, можно продаваться подорого какому-нибудь ibm.

    Зачем IBM спец по эпловским GPU? Что они будут с ним и его макетами на питоне делать? Да даже и на хрусте - повод дать этому туловищу денег в чем состоит?!

     
  • 6.171, Аноним (45), 09:11, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Этот Кронос сертифицирует всё что шевелится. Что не шевелится он толкает и сертифицирует.
     
  • 3.130, Аноним (129), 19:54, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А потом просто включается правило: работает - не трогай!
     
     
  • 4.165, Аноним (165), 07:18, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Устраивает - не трогай.
     
  • 3.156, Прадед (?), 05:44, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том что если ты не поторопился с установкой новехонького дистра, потому что у тебя уже на этом всё настроено, свежие прожки начинают отваливаться, пип не фурычит при попытке достать очередную либу, компиляешь свежего питона чтобы просто запустеть этот самый скрипт, танцуешь с папками и путями, потом там что-то ещё и так далее.
    У коллеги арч и он вообще давно забил на попытки пользования скриптой, в общем вакханалия.
    Я это без ненависте, чисто статистически, много такого на питони встречалл
     
     
  • 4.177, User (??), 12:01, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Господи, что за ранние 200е? Вроде ж у всех лет десять как - у кого по venv с каким poetry ыщщо, у кого по контейнерам все - но обязательно найдется "знакомый арчевод"(ТМ), у которого три версии сконпелированного питона (Одна из них не иначе как 2я) ниработаит!
     
     
  • 5.181, Пряник (?), 12:12, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Рекомендую pipenv. Он в отличии от Poetry не мусорит в pyproject.toml, а создаёт свои Pipenv и Pipenv.lock, которые ни с чем не конфликтуют.
     
  • 4.180, Пряник (?), 12:10, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, компилируешь питон. И что такого? Питон очень просто компилируется.
     
     
  • 5.204, Прадед (?), 18:53, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вы насоветовали тут, а как насчёт чтобы и так работало?
     
     
  • 6.205, Прадед (?), 18:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мне нада скрипт запустить чтобы доки сгенерил, и забыть, а там начинается докеры, поетри, пайэнвы,
     
     
  • 7.206, Прадед (?), 19:00, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Щас ещё такая тема новая, что через пакетны менеджер не поставишь, говорит ставь через пип а пип не может, и так далее. А там ещё нада из месона запустеть, это ещё история..Такой вот жанр питоненья.
    Разраб может и кайфанул, хотя не факт, но я так эту хрень и не осилил, после нескольких часов юзер забил и пошёл спать, ну и хрен с ними, да?
     
  • 7.208, Пряник (?), 20:06, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот poetry и pyenv не советую. Первый лезет ручонками в pyproject.toml. А я хочу собирать пакет через hatch. Второй просто устарел.

    Можно и без виртуальных окружений совсем. Тогда просто в одну папки кидаются все зависимости. Но никто зависимости вместе с программой не таскает.

     
  • 6.207, Пряник (?), 20:02, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Когда я только сел за линукс, тогда ещё пакетов толком не было. А в игрушки поиграть и разные программки хотелось. Приходилось качать исходники, configure и потом качать всё, что не нашёл configure. Где-то через полчаса лишь заветный make. Обычно собиралось без ошибок, потому что ошибки я точно не пытался исправлять.
     
     
  • 7.210, Прадед (?), 20:27, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Звучит приемлемо. Я так гном-шелл как-то собрал во времена автотулза, было забавно. А теперь вот месон билд и готово. И работала.
     
  • 3.161, ng (ok), 06:43, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А скорость и безопасность можно и потом допилить уже, если задача того стоит.

    Строители "замков на песке" характеризуются уверенностью, что фундамент и коммуникации подводятся после сдачи сооружения в эксплуатацию.

     
     
  • 4.178, Пряник (?), 12:04, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты когда-нибудь про прототипирование слышал? Или ты все свои идеи сразу в граните выбиваешь?
     
     
  • 5.185, Аноним (197), 13:18, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прототипирование это миф программы написанные на недоязычках в этом стиле так и... большой текст свёрнут, показать
     
     
  • 6.186, Пряник (?), 14:39, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Давайте сменим традиционный подход к построению программ: будем считать, что наша цель — не дать указания компьютеру о ходе его работы, а объяснить человеку, что именно мы хотим добиться от компьютера.

    (c) Дональд Кнут

     
     
  • 7.189, Аноним (197), 15:22, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не прикрывайся Кнутом Скриптота - problem oriented approach, решает проблему бы... большой текст свёрнут, показать
     
     
  • 8.193, anonymous (??), 15:47, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    угу именно так, по факту вечная мечта о том чтобы программировать нечто абстракт... текст свёрнут, показать
     
  • 5.225, ng (ok), 17:01, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты когда-нибудь про прототипирование слышал? Или ты все свои идеи сразу в
    > граните выбиваешь?

    Да. Слышал.

    И даже видел прототипы в граните и мраморе:

    http://stranymira.com/uploads/posts/2008-09/1221408037_2_large.png

     
  • 4.187, Пряник (?), 14:41, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Москва не сразу строилась.
     
  • 3.217, Илья (??), 08:13, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > быстро делается рабочая программа

    справедливо для любого популярного языка

    Вот только в случае пэйфона, сопровождение после второй недели разработки становится адом в динамике

     
     
  • 4.233, Прохожий (??), 07:21, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >становится адом в динамике

    Не становится, если правильно всё изначально делать (написание комментариев, аннотаций) и высокая скорость не нужна.

    Другое дело, если начинают вылазить бока с низкой производительностью, о которой мало кто думает изначально, потому что преждевременная оптимизация - корень всех зол. Вот тогда уже начинаются пляски с бубном, потому что код на Пайтоне не особо хорошо поддаётся ускорению.

     
     
  • 5.242, Илья (??), 11:01, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > написание комментариев

    Комментарии сопровождать надо. Они теряют актуальность примерно так сразу. И вообще, во многих проектах комментарии запрещены.

    > аннотаций

    Давай за место использования типизированных технологий попытаемся прикрутить типы к пайфону.

    > преждевременная оптимизация - корень всех зол.

    Никто не говорил про преждевременную оптимизацию. Просто пишешь не на пайфоне и работает примерно в 50-100 раз быстрее.

     

     ....большая нить свёрнута, показать (32)

  • 1.135, Skullnet (ok), 21:18, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    tl;dr

    Во сколько раз медленнее С++?

     
     
  • 2.136, Ivan7 (ok), 21:29, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Во сколько раз медленнее С++?

    CPython по тестам в сотни раз медленнее C++. Другие варианты Python, более оптимизированные - PyPy, например, - в десятки раз медленнее C++. И кто-то ведь использует его для обработки данных, и даже книги издаются на эту тему... Полная жесть, короче...

     
     
  • 3.137, Аноним (129), 22:05, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так это все равно быстрее чем на си. Написание программы на питоне плюс ожидание ее выполнения суммарно меньше, чем написание программы на си.
     
     
  • 4.140, Аноним (113), 22:39, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это зависит от того, что программа должна делать. Большинство задач, которые в ML решают, на C пишутся не сложнее. Просто у C синтаксис поприятнее будет.
     
     
  • 5.166, Аноним (165), 07:29, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Hello, World!", да, на C пишется быстрее. Синтаксис поприятнее, да. Только этого синтаксиса не хватает, поэтому вспоминают, что есть C++.
     
  • 4.143, Аноним (138), 22:49, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если запустить 1 раз с 1кб данных, то да. А если запускать миллионы раз с террабайтами данных, тут С/C++ вне конкуренции. Ну ты меня, надеюсь, понял.
     
     
  • 5.167, Аноним (165), 07:33, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Миллионы раз запускать, это уже не прототипирование. Здесь стоит переписать с Питона, если десятки раз удачно отработало.
     
     
  • 6.218, Илья (??), 08:15, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Здесь стоит переписать с Питона

    А зачем тогда вообще начинать писать на пэйфоне?

     
     
  • 7.234, Прохожий (??), 07:29, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Затем, что речь идёт о прототипе. Пайтон в этом плане очень хорош по сравнению с тем же Си - намного более лаконичный язык, который к тому же проще читать и понимать (при условии, что код аннотациями типов снабжён).
     
     
  • 8.240, Илья (??), 10:17, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Давай предположим, что между самой низкопроизводительной технологией пэйфон и ... текст свёрнут, показать
     
  • 8.241, Илья (??), 10:49, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это очередной миф Лаконичность - это приятный бонус к читаемости, но не более ... большой текст свёрнут, показать
     
  • 3.184, Вы забыли заполнить поле Name (?), 12:24, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И кто-то ведь использует его для обработки данных, и даже книги издаются на эту тему... Полная жесть, короче...

    Ты бы глянул на чем питонячие библиотеки для данных написаны под копотом для начала.

     
     
  • 4.198, Ivan7 (ok), 16:43, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для обработки данных на С++ чаще всего вообще никакие библиотеки не нужны. А вот в питоне без сишных либ вообще никакая обработка больших данных невозможна из-за его сверхнизкой производительности. И даже с сишными библиотеками он всё-равно очень медленный.
     
     
  • 5.235, Прохожий (??), 07:32, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С библиотеками его медлительность уже не заметна, потому что в оставшихся местах (не покрываемых библиотекой) часто не нужна.
     
     
  • 6.243, Ivan7 (ok), 02:14, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Библиотеки в программе обычно делают лишь незначительную часть работы. Это лишь вспомогательный инструмент. Основной алгоритм пишется руками и обычно именно он определяет производительность. Даже между компиляторами С++ может быть большая разница в производительности генерируемого кода. Многое может зависеть от опций компиляции. У некоторых компиляторов С++ есть возможность делать ассемблерные вставки в коде С++. И в этом во всём огромный потенциал увеличения производительности. Да, готовые библиотеки предоставляют определённый функционал, но чаще всего неоптимальны в плане производительности. Короче, те, кто пишет на Питоне, даже не подозревают насколько код может быть быстрый.
     
     
  • 7.246, Анонин (?), 16:06, 30/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, готовые библиотеки предоставляют определённый функционал, но чаще всего неоптимальны в плане производительности

    доооо, расскажи это авторам numpy, scipy, pandas - ты в жизни не напишешь ничего даже близкого по уровню оптимизации и производительности, тем более на крестах (такие как ты не знают не их, ни других яп, но мнение имеют)

     
  • 2.139, чатжпт (?), 22:37, 10/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Приходите обсудить этот вопрос когда перестанете null освобождать, т.е. никогда
     
     
  • 3.146, Ivan7 (ok), 01:24, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну что за чушь! От криворукости, рукожопости и слабоумия никакой язык не спасает!
     
     
  • 4.236, Прохожий (??), 07:39, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот ведь проблема, что за 40 (или уже 50?) лет программисты на Си от всего перечисленного так и не излечились почему-то. И если верить Гуглу с Микрософт ом (а зачем бы им врать), 70% ошибок програми на Си - это некорректная работа с памятью. Именно по этой причине и начали появляться языки с автоматическим управлением памятью.
    А так - да, от всех ошибок дёшево не отделаешься с любым языком.
     
     
  • 5.244, Ivan7 (ok), 02:32, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как всегда, есть дилемма Указатели на память - это ведь фича Си, а не его нед... большой текст свёрнут, показать
     
  • 3.153, qwe (??), 04:13, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    man 3 free: ... If ptr is NULL, no operation is performed.

    Смысла в этом не много, но и проблемы нет.

     
  • 3.157, Прадед (?), 05:49, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ни null а none
     

  • 1.152, Пупсик (?), 03:33, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лучше дождаться когда modjo дорастет до момента, когда он перекроет весь синтаксис питона.
     
     
  • 2.237, Прохожий (??), 07:41, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть проблема. Людям сейчас надо работу работать.
     

  • 1.154, Ivan_83 (ok), 04:15, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучше бы архитектора толкового и с яйцами наняли, а то питон мотает в разные стороны, особенно в его библиотеках/расширениях.

    Втащили rust как зависимость некоторых базовых либ типа криптовой и оно и так то требовало возни для сборки, а теперь ещё и не на всех платформах это юзать можно будет.

    И вот эти костыли с venv и ещё динамической работой pep когда он сам походу из инета подтягивает недостающие зависимости - это же треш и угар в плане поддержки и секурности.

     
     
  • 2.168, Аноним (165), 07:37, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше не надо нового архитектора. А то, вероятнее всего, попадётся может и толковый, но бывший с яйцами. ;)
     
  • 2.203, Аноним (66), 18:26, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    pip... Основная проблема всего этого колхоза это поставка so-ек вунтри pip и у каждого пакета свои одинаковые либы в разных версиях или даже совсем одинаковые. Здесь должен был бы быть нормальный пакетный менеджер, а не такое рукозадние
     
  • 2.221, Пряник (?), 09:54, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это на каких платформах нелья? Просто интересно чем вы там упариваетесь?
     
     
  • 3.226, Ivan_83 (ok), 00:35, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А давно RUST стал работать на всех платформах где есть питон?
     
     
  • 4.238, Прохожий (??), 07:45, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А давно у Питона зависимость стандартной библиотеки от Rust? Ты уж определись, чем ты там занимаешься, всё-таки.
     
  • 2.239, Прохожий (??), 07:47, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >И вот эти костыли с venv и ещё динамической работой pep когда он сам походу из инета подтягивает недостающие зависимости

    Это что за бредятина? Где это pip работает динамически? И в чем конкретно проблемы с venv?

     

  • 1.169, economist (?), 08:52, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот радуете меня когда за нас, DS-тов, все подряд решают в чем нам надо работать, причем "еще 10-ть лет назад", когда ИИ было словом ругательным. Тыкают в "сотни раз более медленный" по несколько раз на дню.

    Прошу запомнить число "4" - примерно во столько раз медленнее весь runtime DS-стека на Python по сравнению с чем другим быстрым (С, С++, Julia итд) в реальной жизни.

    Это не то чтобы предмет гордости, конечно же нет. Но признание проблемы - первый шаг к ее решению. На протяжении Python 3.4-3.12 мы видим последовательные шаги по ускорению на единицы процентов, теперь уже это десятки %%. Так что не надо нытья, кому надо быстрее и легче писать - пишут на простом и медленно ускоряющемся Python. Кому надо быстрее выполняться - сразу идут и пишут на чем-то сложном. Встретимся через год и сравним число проектов.

     
     
  • 2.179, User (??), 12:05, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не-не, тут все больше по написанию комментариев соревнуются. Сишечка выигрывает за явным преимуществом, если что - так-то, Илон Муск!
     
  • 2.191, Аноним (190), 15:29, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Кому надо быстрее выполняться - сразу идут и пишут на чем-то сложном. Встретимся через год и сравним число проектов.

    А почему проектов? А не строк кода? Логичнее оценивать по ним. Например, в питоне можно в 10 строк функцию написать, а в C для нее же потребуется сотня строк - т.е. получается для реализации той же задачи, в C можно в 10 раз больше кода написать, и впечатлить своего работодателя.

     
     
  • 3.219, economist (?), 09:08, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Именно поэтому проектов, а не строк кода.
     

  • 1.175, Аноним (175), 10:05, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Для сборки билда JIT требуется установка LLVM в качестве дополнительной зависимости. Для работы билда на конечной машине новых зависимостей нет. Грамотеи
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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