Python Быстрее чем Си?! Ускоряем Python До Максимума!

Поделиться
HTML-код
  • Опубликовано: 4 июн 2024
  • В этом видео мы подробно разберём несколько инструментов оптимизации Python кода. Научимся применять Just In Time компилятор Numba и познакомимся с интересным и очень быстрым интерпретатором PyPy!
    Привет! Меня зовут Игорь. На моём канале ты сможешь найти уроки по нейронным сетям, визуализации данных и программированию в целом.
    Моя цель - сделать программирование более доступным и понятным. Для просмотра моих видео вам не нужно высшее образование по Computer science. Все непонятные темы и термины я буду понятно объяснять и показывать на примерах.
    Оставайся с нами, и чтобы не пропустить ни одного видео - подписывайся на канал и нажимай на колокольчик!
    Тайм-коды:
    0:00 - Вступление
    1:01 - Почему Python Медленный
    4:07 - Что такое Numba
    5:04 - Примеры Использования Numba
    8:39 - В чём плох Numba
    10:14 - Виды интерпретаторов Python
    10:38 - Установка PyPy
    12:28 - Примеры Использования PyPy
    13:46 - А можно ли ускорить ещё сильнее?
    14:13 - Заключение и пару слов о происходящем
    ► Ссылки из видео:
    Сайт PyPy - www.pypy.org/
    ✅ Группа VK - bit.ly/VK_PseudoDev
    ✈️ Telegram канал - t.me/PseudoDeveloper
    💲💲 Поддержи проект на Boosty - boosty.to/pseudodev
    📖 Плейлист "Программирование на Практике" - • Программирование на пр...
    📖 Плейлист “Нейронные Сети на Понятном Языке” - • Нейронные Сети на Поня...
    📖 Плейлист "Изучение NumPy" -
    • Изучение NumPy

Комментарии • 91

  • @PseudoDev
    @PseudoDev  2 года назад +10

    🤔 А у вас вообще были проблемы, связанные с долгим выполнением кода?
    😅 Или я один такой несчастный?

    • @galandec2000
      @galandec2000 8 месяцев назад

      как показывает практика, 99% проблем медленного кода в python, это не знание самого python на нормальном уровне...🤣 видел как-то на хабре, парнишка написал на python пример который работает в 10 раз быстрее С++ (если только в C++ не написать это через сложные алгоритмы). там много было примеров даже банальных циклов когда их не верно используют и они медленнее в 10 а то и в 1000 раз.. 🤣да и на ютуб в достатке топ видео где меняют просты решения на либы чтоб ускорить, а проблема тупо потому что написан код криво..🤣 тут все как с js, если ты не понимаешь как работает данный язык, ты будешь писать самый медленный код в мире.🤣 тут просто два цикла могут отработать по разному, как гитпер быстро так и гипер медленно. и те кто знают как работает python изнутри, напишут все очень быстро . а те кто не знают, напишут так что лучше бы вообще ничего не писали.. 2017 год, соц сеть представляет свой новый апгрейд и она написана на Flask. суть в том что там чистый python, запросов больше 12 миллиардов в сутки!!! и скорость работы просто безумная! и да, там чистый python.))) их осуждали, орали тип python медленный, тип не надо на нем ибо даже не поднимите.. и весь мир афигел что так можно..🤣 они так и объяснили - "просто надо писать на python, как на python! а не как на С++ или java и тд..!".🤣 учитесь писать правильно на python! и не будет у вас прольем с скоростью выполнения.))

  • @obrazovaniekurs
    @obrazovaniekurs 2 года назад +20

    Жаль на ЕГЭ нету интернета,так с нумбой последнюю задачу было бы легче решать

  • @ushid_
    @ushid_ 2 года назад +7

    мы ждали это 2 месяца… и наконец-то дождались 💪

    • @PseudoDev
      @PseudoDev  2 года назад

      "Я ждал этого 4... Нет! 5 тысяч лет!!"

  • @user-my9oi7zk4y
    @user-my9oi7zk4y Год назад +4

    # охтыжнифинасебе это очень круто. доп: пузырьковая сортировка из списка list(reversed(range(10000))) python3.9 стандартный - 19.7 сек, pypy 3.9 - 0.328

  • @user-lj9nx1tn7v
    @user-lj9nx1tn7v 2 года назад +2

    Это нереально круто 🙌

  • @ReBoot-c
    @ReBoot-c 2 года назад +18

    "Python Быстрее чем Си", а в следующем видео будет разгонять свет быстрее скорости света?

    • @PseudoDev
      @PseudoDev  2 года назад +17

      В следующем видео буду разгонять Assembler до скорости Python 🗿

  • @djuseycoding4890
    @djuseycoding4890 Год назад +4

    Омг, чел, ты очень круто и просто объясняешь!
    Я просто гуглила про вебсокеты (чтобы разобраться, как это можно побыстрее сделать для работы), а в итоге я посмотрела видосов 10 просто на одном дыхании.
    Потому что нет воды - бери и применяй.
    Ты просто космос✨

    • @PseudoDev
      @PseudoDev  Год назад

      Спасибо большое 😉

  • @user-cj7po7bx3i
    @user-cj7po7bx3i 10 месяцев назад +1

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

  • @Kopasuy
    @Kopasuy 6 месяцев назад +2

    2:49 Когда я вижу подобный код, я думаю, что его пишут настоящие программисты, мастера абстракций, которые способны писать код без костылей

  • @okeJS3560
    @okeJS3560 6 месяцев назад +2

    12:39 Давайте посмотрим сможет ли он обогнать Спайт... Он уже закончил. ахаххахахаа

  • @user-ve2vg5ig9v
    @user-ve2vg5ig9v Год назад

    Супер видео

  • @manhack4274
    @manhack4274 2 года назад +1

    Видос шикарен, не зря ждал видос

  • @golova23865
    @golova23865 Год назад +7

    Я за всю жизнь столько мемов не видел, сколько в этом видео за 15 минут

  • @user-yx5nj4fw2x
    @user-yx5nj4fw2x Год назад

    Харош

  • @vladtroshin421
    @vladtroshin421 2 года назад

    Не знаешь можно ли оптимизировать работу с файлами, использую библиотеку которая при каждой операции ищет файл, вытаскивает из него значения, считает, закрывает файл и выдает результат, а потом опять ищет файл значение считает...
    Можно ли что то с этим сделать ? знаешь какие ни будь инструменты ? например что бы выгрузить файл в ОЗУ и перенаправить в ОС запрос на Опер. память вместо чтения с HDD

  • @user-mp7lq3cu9c
    @user-mp7lq3cu9c 4 месяца назад +1

    спасибо, я знал, что пайтон тормозной, но не знал, что на столько)

  • @DrW1ne
    @DrW1ne Год назад

    топ видос очень помогло

  • @alex_step_
    @alex_step_ Год назад +2

    Полезное видео. Спасибо.

  • @_tiredofidiocy_
    @_tiredofidiocy_ Год назад +1

    Есть у меня скриптик с вычислениями на 30 сек (симуляция торговых стратегий). Зафигачил multiprocessing - обрадовался, что стало 7 секунд (оказалось оптимальным 8 процессов на ксеоне с 16 лог. ядрами). Но потом оказалось что время выполнения сильно "играет" в основном между 10 и 25 секунд. Причем как-то не на рандоме, а либо много запусков подряд быстро либо много запусков медленно. Так что по итогу не такой то большой выигрыш. Ещё как-то странно, сами процессы выполняются быстро, но иногда возникает какая-то задержка в момент создания пула и старта первых процессов, и после нескольких секунд пролага всё быстренько выстреливает. Поэтому то что узнал из этого видоса попробую применить. Надо сказать что Пайтон не такой уж и медленный. Этот же самый алгоритм у меня до этого был в Mathcad и выполнялся 20 минут!)))

    • @user-pq4mm2yx8u
      @user-pq4mm2yx8u 3 месяца назад

      Важны не логические, а физические ядра. Также при создании процесса важно поднимать его приоритет с нормального, до высокого, чтоб он не стоял в очереди. В идеале до реалтайма приоритет поднять бы, но у меня почему-то только высокий ставится... Сам не до конца раскурил эту тему)

  • @klaus2412
    @klaus2412 Год назад +2

    Главное не ускорить (оптимизировать) всë так, чтобы вселенная не схлопнулась

  • @justdust
    @justdust Год назад

    гениальный эдит

  • @White_Kitty_DiggeAte
    @White_Kitty_DiggeAte Год назад +1

    а на 3.11.3 че устанавливать?

  • @louishere5236
    @louishere5236 2 года назад

    Видео топ, скоро 3000 🎉, скажи пожалуйста по какому курсу можно спокойно выучить python за лето, скоро экзамены просто

    • @PseudoDev
      @PseudoDev  2 года назад +1

      Честно, я даже не знаю что тебе конкретно посоветовать 😅
      Я выучил Python при помощи практического подкрепления. Очень много хороших задачек есть на Stepik-е. А теорию я брал отовсюду, начиная от "Python за час", заканчивая тех.документацией на официальных сайтах по питону.
      Вот честно, тебе главное решать практические задачки. Ставить себе какое-то условие, и пытаться его решить. По началу можно с использованием интернета, а потом пытаться без него

    • @louishere5236
      @louishere5236 2 года назад

      Спасибо за ответ и реактивность

    • @47clere
      @47clere Год назад

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

    • @user-kw1pc9ld9i
      @user-kw1pc9ld9i 3 месяца назад

      А ему это т олько и надо@@47clere

  • @duceskoriny
    @duceskoriny 7 месяцев назад +2

    Недавно пробовал переехать на PyPy, но не осилил переезд установленных библиотек для этого интерпретатора, он их не видит :(

    • @PseudoDev
      @PseudoDev  7 месяцев назад

      Согласен, это большой минус

  • @47clere
    @47clere Год назад +1

    Всё это супер, но всё это ломается на сложных скриптах и/или использующих numpy и pandas. Дада, пишут что они поддерживаются, но у меня не пашет.
    Т.е. нормально это работает только когда питон чистый. И тут надо тестить что быстрее.
    Параллелизация не работает если во время pd.rolling().parallel_apply(decribe()) тебе нужно больше одного процентиля
    Pypy тоже из коробки не завелся, ругается на панду и нампай
    Ещё pandarallel даёт бонус только на массивах больше чем 10000 строк, если массив меньше то обычный apply быстрее

  • @keeponwishing3856
    @keeponwishing3856 Год назад

    Спасибо !

  • @Floppa_1917
    @Floppa_1917 2 года назад

    Ультрамегасупердуперхорош

  • @earielflare2203
    @earielflare2203 Год назад

    Чувак, ты просто космос!

    • @PseudoDev
      @PseudoDev  Год назад

      Спасибо большое :D

  • @qwerty0xD52
    @qwerty0xD52 Год назад

    а pypy может работать со сторонними модулями?

    • @PseudoDev
      @PseudoDev  Год назад

      Да, может. Но их нужно скачивать отдельно для интерпретатора pypy

  • @diobrando5839
    @diobrando5839 6 месяцев назад +1

    Объясните, почему бы тогда не использовать всем pypy, вместо Cpython?

    • @PseudoDev
      @PseudoDev  6 месяцев назад +2

      Придётся тогда все библиотеки переписывать под pypy. Всё-таки Cpython - это стандарт, и все опираются именно на него

  • @archyt88
    @archyt88 2 года назад

    Норм

  • @aeddaenye
    @aeddaenye 10 месяцев назад +1

    Я умею компилировать Python код.

  • @nonameaccount4967
    @nonameaccount4967 Год назад

    Бомбейшая бомба!

  • @domochevsky4703
    @domochevsky4703 2 года назад

    Блин, бро, сколько времени у тебя ушло на создание сего шедевра?

    • @PseudoDev
      @PseudoDev  2 года назад +1

      Примерно месяц на усё. Сбор инфы, написание кода и сценария заняло прям дофига времени (в сравнении с прошлыми видео). А монтаж + озвучка примерно дней 5.
      Очень тяжело было, я всё боялся, что не успею в срок 😅

  • @evgenyve1
    @evgenyve1 Месяц назад

    У меня в pypy возникла проблема с кириллицей. Пока не нашел способа, как подружить его с ней. А так, было бы хорошо. Но, к сожалению, обработка текста. Кириллица - критично. Если кто-то знает способ, как решить эту проблему, поделитесь.

  • @user-qg2pm9to3w
    @user-qg2pm9to3w 2 года назад

    Как устанавливать пакеты pip в pypy?

    • @PseudoDev
      @PseudoDev  2 года назад

      Точно так же как и в обычном питоне, только нужно уточнять, что нужно скачивать именно для pypy. Команда будет выглядеть как-то так:
      pypy pip install (имя модуля)
      P.s. возможно будут вылезать ошибки. Их можно исправить добавление следующий элементов в команде (обозначено скобками):
      pypy(3) (-m) pip install (имя модуля)

  • @user-hw1tf7kf9f
    @user-hw1tf7kf9f 2 года назад +2

    На олимпиаде скорость питона сильно подводит, у сиплюсеров такого не возникнет, но к сожалению сторонние библиотеки там ставить невозможно и ничего с этим не поделать

    • @najhorsy
      @najhorsy 2 года назад +2

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

    • @user-hw1tf7kf9f
      @user-hw1tf7kf9f 2 года назад

      @@najhorsy может быть у тебя так, у меня в регионе один и тот же код запущенный на двух этих языках показывает, что питон в разы медленнее

  • @user-ew5bu4bc5s
    @user-ew5bu4bc5s Год назад

    Помогите пожалуйста установить pypy на Jupiter notebook 🙏. Кто уже устанавливал, напишите, ответьте, пожалуйста. Сколько пытаюсь, не выходит

    • @PseudoDev
      @PseudoDev  Год назад

      Не уверен что это хорошая идея, но вроде тут есть обсуждение на эту тему. Может поможет - stackoverflow.com/questions/33850577/is-it-possible-to-run-a-pypy-kernel-in-the-jupyter-notebook

  • @Swyateg
    @Swyateg Месяц назад

    Питон больше подходит для I/O привязок, для CPU я бы выбрал плюсы

  • @ulcuber
    @ulcuber 6 месяцев назад +2

    Восемь плохих кодов быстрее одного такого же

  • @user-my2ob9wb1c
    @user-my2ob9wb1c Год назад

    Побежал тестить pypy

  • @user-zi9xz5ru5b
    @user-zi9xz5ru5b Год назад

    Как устанавливать библиотеки pypy, pip не работает

    • @PseudoDev
      @PseudoDev  Год назад +1

      Точно так же как и в обычном питоне, только нужно уточнять, что нужно скачивать именно для pypy. Команда будет выглядеть как-то так:
      pypy pip install (имя модуля)
      P.s. возможно будут вылезать ошибки. Их можно исправить добавление следующий элементов в команде (обозначено скобками):
      pypy(3) (-m) pip install (имя модуля)

  • @genapak4864
    @genapak4864 Год назад

    надейся

  • @PianoElipse
    @PianoElipse 6 месяцев назад +1

    знзн)))

  • @SHIVOOWOSHI
    @SHIVOOWOSHI 7 месяцев назад +1

    Разогнать язык написанный на Си быстрее чем Си....

  • @user-cj7po7bx3i
    @user-cj7po7bx3i 7 месяцев назад +1

    почему арбуз, а не баклажан)

  • @KrymmyOZY
    @KrymmyOZY 9 месяцев назад +1

    Не процессы GiL блочет, а потоки. Я возможно не первый такой, но просто по ушам проехал

  • @viewererdos
    @viewererdos 8 месяцев назад +1

    Быстрее Си только машинный код, т.е. язык ассемблера. Да и сам Си это "высокоуровневый" язык ассемблера.

  • @MRjakAE
    @MRjakAE Год назад

    Не прекратилось

  • @lorand-6284
    @lorand-6284 Год назад +1

    Возродись

  • @user-pk6rw9tw3m
    @user-pk6rw9tw3m 7 месяцев назад +1

    Разве вы не знаете, что чем мощнее и медленнее работает программа, значит она более солидная, сложная в разработке и стоит "сотни нефти"? ))))

  • @ezdeved
    @ezdeved 2 года назад

    Питон никак не может быть быстрее c

  • @user-dl2ph6ku8c
    @user-dl2ph6ku8c Год назад

    Где видео раз в месяц?(((((

    • @PseudoDev
      @PseudoDev  Год назад

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

    • @user-dl2ph6ku8c
      @user-dl2ph6ku8c Год назад +1

      @@PseudoDev не стоит извиняться, реальная жизнь куда важней ведения ютуба.
      Удачи с проектом, и успешно сдать все по учебе!

    • @PseudoDev
      @PseudoDev  Год назад

      @@user-dl2ph6ku8c спасибо большое!

  • @vladpetr9168
    @vladpetr9168 Год назад +1

    Сынок! Ку..(курить вредно!) ВНИМАТЕЛЬНО ЧИТАЙ БУКВАРИ! Тогда узнаешь много нового и перестанешь пытаться сравнивать Pyton и Си .

  • @user-pk6rw9tw3m
    @user-pk6rw9tw3m 7 месяцев назад

    и вообще "хуяк-хуяк" и в продаешен! ))) быстро работающие программы выполняющие свои функции - не выгодны со стороны бизнеса. Как говорит один умный программист-лектор (катается по семинарам и рассказывает разработчикам), что они не правы, когда добиваются оптимизации своих программ! и кстати он получает побольше чем подавляющее количество разработчиков, которых собрались в зале его послушать. Блин, склеротик, не вспомню как его ФИО. Он ещё Пиоон любит сравнивать с Руби. Известная хлеборезка.

  • @UkraineAb0veAll
    @UkraineAb0veAll 2 года назад +3

    ролик интересный и для *_практикующих_* Python'истов точно полезный. за это 👍
    *но* - Крым (и Симферополь в частности) это Украина. да, с 2014-го он кем-то _считается_ "российским". на самом деле он лишь *временно* оккупирован/аннексирован рфией. и со временем все действительно *_вернется на круги своя_* . обмануть Бога и историю невозможно.

    • @PseudoDev
      @PseudoDev  2 года назад +2

      За первое - спасибо, а со вторым не согласен. В 2014 году это была не прихоть власти РФ, а желания Крымчан. Даже если, каким-то образом, Крым вернётся в состав Украины, Крымчане найдут способ снова вернуться в РФ. Об оккупации и аннексии и речи быть не может

    • @UkraineAb0veAll
      @UkraineAb0veAll 2 года назад

      @@PseudoDev
      сразу о втором. вы, молодой человек, повторяете чужие слова. поясню вкратце:
      1) по Конституции АР Крым (до "псевдореферендума") вопрос о присоединении/отделении этой (как и любой другой) части Украины был *вне* компетенции местных органов власти. более того, подобное изменение территории возможно исключительно после проведения *всеукраинского* референдума, которого - как вы понимаете - не было.
      2) во-первых, после развала ссср в 1991 году между Украиной и рф были подписаны документы, в т.ч. которыми рф признавал Крым *Украинским* и поддерживала территориальную целостность и нерушимость границ Украины. более того, вплоть до февраля 2014 года рф ни разу не высказала заинтересованность или желание "вернуть" Крым. и да, пребывание чф рф на территории Украины (в Крыму) как минимум после 1996 года было незаконным, т.к. по сути это иностранная военная база, а таких согласно Конституции Украины на нашей территории быть не может, из чего следует, что заключенный ранее договор о пребывании чф рф должен был быть расторгнут/аннулирован, а сам чф - выдворен за пределы Украины. к сожалению, этого не было сделано.
      во-вторых, рф могла подписывать договор о принятии АР Крым исключительно с Украиной, частью которой Крым *является* де-юре и сегодня (на том, что пуtинская рфия игнорирует международное право, останавливаться не буду). плюс должен был пройти всероссийский референдум о принятии новой территории - как ни странно , но его также не было. таким образом "возвращение в родную гавань" является незаконным не только по украинскому или международному законодательству, но и с точки зрения _российского_ законодательства (конституции рф и федерального закона). из всего этого как раз и следует, что с весны 2014 года *Украинский Крым* оккупирован рфией.

    • @PseudoDev
      @PseudoDev  2 года назад

      👏👏👏

    • @ivanbilinchuk7842
      @ivanbilinchuk7842 2 года назад +1

      @@PseudoDev Какая разница чей Крым,если кто-то возомнил себе что может убивать людей в чужой стране тысячами,это точно не останется безнаказаным.

  • @user-os1xg1rh4c
    @user-os1xg1rh4c Год назад

    если вы выкините из видео шутихи, ваше видео не потеряет вес, но перестанет отдавать школотой.

  • @xxxbunx
    @xxxbunx 2 месяца назад

    т.е. если запустить несколько процессов из python то они не будут выполняться параллельно? Правильно вас понял?

  • @MsSk0000
    @MsSk0000 10 месяцев назад +3

    Быстрее чем Си? да он тормознее даже PHP8 раз в десять!

    • @user-vf4lq5mg9y
      @user-vf4lq5mg9y 10 месяцев назад +2

      Все в мире относительно. Бывают же ситуации, когда человек откроет ящик с черепахами - а они как ломануться )))
      Автор видать из этих

  • @rostislavlacasadepapei3839
    @rostislavlacasadepapei3839 Год назад

    🟥🟥🟥🟥🟥🟥
    🟥⬜⬜🟥⬜🟥
    🟥⬜⬜🟥⬜🟥
    🟥🟥⬜🟥🟥🟥
    🟥🟥🟥🟥🟥🟥

  • @user-lj9nx1tn7v
    @user-lj9nx1tn7v 2 года назад +1

    Это нереально круто 🙌