Григорий Петров (Evrone), Почему Python и Ruby медленные?

Поделиться
HTML-код
  • Опубликовано: 29 май 2023
  • Почему Python и Ruby медленные?
    Всего двадцать лет назад мир был простой и понятный. Python, Ruby и PHP были «скриптовыми», «интерпретируемыми» языками. А C++ и Java «компилируемыми, поэтому в сотни раз быстрее». А сейчас, в 2022 году, «задача четырех тел» решается на C++ всего лишь в два раза быстрее, чем на JavaScript. Но все так же в сотни раз быстрее, чем на Python или Ruby. Звучит несправедливо, и есть много хороших докладов, отвечающих на вопрос «что делать» и как обмазать все PyPy, Numba и Cython.
    Я же расскажу о том, «кто виноват»: про компиляторы, байткод, ceval.c, виртуальные машины, JIT, нативные расширения и всё то, из-за чего мы слышим аргумент «Python и Ruby медленные» даже в тех случаях, когда это не так.
  • НаукаНаука

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

  • @maxdzyubak
    @maxdzyubak 10 месяцев назад +19

    Дядь Гриша - лучший 😁🔥🔥

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

    Хорошая лекция! Докладчик молодец! Живо, интересно и доходчиво объясняет, манера подачи информации приятна!

  • @neolord50pro77
    @neolord50pro77 8 месяцев назад +4

    Так увлекла лекция, что только на середине заметил ковёр. Думал мне показалось сначала 😂

    • @ZlobniyTapoG
      @ZlobniyTapoG 5 месяцев назад

      Так увлекла, что даже не услышал докладчика про то, что он впервые выступает на фоне ковра, лол.

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

    Ковёр збс))

  • @dmitriyobidin6049
    @dmitriyobidin6049 9 месяцев назад +8

    Всё красиво, но вот с Руби у меня всегда есть один вопрос.
    Зашел посмотреть на вакансии Еврона.
    Фулстек Руби + Реакт - 270к
    Мидл Реакт - 300к
    Го разраб - 380к
    Пайтон - 450к
    Почему Рубисты так проседают по ЗП? Если они деливерят так много value и так быстро? При этом им надо еще и фронт покрывать... Почему тогда не пойти просто обычным мидл реактером за бОльшие деньги? Или питонистом чуть ли не на х2 и без фронтенда...

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

      А сейчас вообще нет

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

      Проблема в том что руби - язык стартапов, если вы смотрите зп в РФ, где по некоторым причинам стартап культура не развита :) - рубисты будут проседать по ЗП. Если посмотреть долину, то там будет все подругому)

    • @dmitriyobidin6049
      @dmitriyobidin6049 6 месяцев назад

      @@user-lo1pf5yg8q Так я же именно про еврон, они вот пиарят свою руби практику, говорят что рубисты пилят бизнес фичи и приносят бабки, а не просто пишут горы кода.
      Но почему-то даже у них рубисты получают ниже остальных. Так тогда вопрос, а зачем мне изучать руби и пилить фичи для бизнеса с повышенной эффективностью, если этот бизнес не хочет платить за эту повышенную эффективность.

  • @VaeV1ct1s
    @VaeV1ct1s 11 месяцев назад +1

    Можно ссылку на интервью Гвидо?

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

      Если я правильно помню, то вроде в этом интервью там говорилось про JIT-компиляцию) если Вы об этом)
      ruclips.net/video/-DVyjdw4t9I/видео.html

  • @user-tq5si1pj8j
    @user-tq5si1pj8j 4 месяца назад

    Ковёр красивый и это самое главное

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

    Питон - такой же интерпретатор, как, скажем, Basic, но встроеный в браузер и, поэтому, может гонять скрипт как на локальном компе, так и исполнять библиотеки на сервере (на облаке). Когда скрипт Питона бежит локально - он медленнее компилированного бинарного кода, напр. на С. А скорость серверных библиотек замедляется вэб траффиком, хотя скорость их исполнения очень велика (напр. TensorFlow от Google)

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

      Бейсик вовсе не интерпретатор, но о таких вещах, как кеш память или регистры, он не знает ничего. За каждой переменной и за каждым индексом он лазит в основную память, и это медленный процесс. Ускорить процесс могут вставки на ассемблере, но их непонятно, как делать. Тем не менее Визуал Бейсик 6 по своему быстродействию, на мой взгляд, работает удовлетворительно. Я делаю в этой среде синтез музыкального звука, векторную графику и анимацию..

    • @user-xf4pb7pt7n
      @user-xf4pb7pt7n 4 месяца назад

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

  • @anatoly-k
    @anatoly-k Год назад +6

    что значит C# угас, на чём основано?

    • @user-gi4qu9do2v
      @user-gi4qu9do2v Год назад +5

      C# взлетел после угасания в пандемию и стал лучшей альтернативой джавы на новых проектах + микромягие форсили его под azure. Это хороший (я, как дотнетчик, считаю лучший) язык, если нужно писать много бизнесвого кода, но поддрежка сообщества у него очень слабая, поэтому стартапы делать риковано. Допустим, понадобится какая-то технология, которую не написали майкрософт - бэк для колаборативного редатора например. На с# нет готовых решений, а на js их много и они еще интегрированы с фронтовыми библиотеками. Получается, что на ноде\питоне из-за хайпа очень много полезных вещей, сделанных сообществом и это сильно упрощает жизнь и снимает риски с бизнеса. Иногда приходится заводить сервис на другом языке исключительно из-за того, что на нем есть технологий, которой нет на дотнете

    • @Edvard-Aliev
      @Edvard-Aliev 9 месяцев назад

      @@user-gi4qu9do2vтак и живем!

    • @phat80
      @phat80 9 месяцев назад

      @@user-gi4qu9do2vА самим написать слабо? Почему у всех привычка использовать только готовое? Берите пример с 1Сников 😂 Они пишут свои велосипеды постоянно, хотя их уже сотня-другая чужих.

    • @yuriytheone
      @yuriytheone 9 месяцев назад

      Кому нужно говно C# если есть компилируемы C++?

    • @Edvard-Aliev
      @Edvard-Aliev 9 месяцев назад

      @@yuriytheone под веб плюсы не топ

  • @user-rj4zb2co7l
    @user-rj4zb2co7l 3 дня назад

    Как так вышло что SpiderMonkey (Mozilla Firefox) оказался быстрее и безопасней V8?

  • @ixtirochiavlodlar
    @ixtirochiavlodlar 11 месяцев назад

    Интересное Рубашка

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

    Чуваки, это же советский ковер

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

    +100 за ковёр 😂

  • @user-jj5mi1yl6p
    @user-jj5mi1yl6p Год назад +13

    Риторика о цене создания нового кода и цене выполнения кода не учитывает цену поддержки кода. Поддерживать код интерпретируемого языка с динамической типизацией значительно тяжелее чем код компилируемого языка со строгой статической типизацией.

    • @rugleb
      @rugleb 10 месяцев назад

      Почему это?

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

      @@rugleb меньше багов и ошибок. Когда ты четко прописываешь типы, это всегда лучше, чем когда интерпретатор сам додумывает. Ну и скорость выполнения такого кода всегда будет ниже.

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

      Прописывай типы где нужно на руби и рационе. Пиши тесты.

    • @vadimburavlev4773
      @vadimburavlev4773 12 дней назад

      @@phat80 например, в js медленнее будет только в 1 запуск, далее VM проведет оптимизацию и поймет какие нужны типы и все будет работать быстро

  • @user-jj5mi1yl6p
    @user-jj5mi1yl6p Год назад +5

    Риторика о скорости JS немного насмерть разбиваются о факт того, что Go победил серверный JS уже много лет назад.

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

      В твоих влажных фантазиях...😂😂😂

    • @sakuraburst9657
      @sakuraburst9657 9 месяцев назад

      @@yuriytheone Объективно го быстрее жса, у него намного лучше работа с параллельным программированием, работа с памятью и простой рантайм, который написан на самом го. Но про победу на серверах спорно, согласен

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

      "факт победы" это нокаутом или техническая?

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

      Вижу кучу вакансий типа требуется переписать с РНР на го и с Пуитона на ГО. Чтобы было наоборот не видел

  • @mirvin11
    @mirvin11 9 месяцев назад +3

    Это вот у js простая семантика? Ну и бред

    • @xeleos
      @xeleos 9 месяцев назад

      других языков не видел что ли? js проще всех

  • @ledest
    @ledest 9 месяцев назад

    "Прикольно и с юмором о говнокодерстве для говнокодеров (чтоб они перестали комплексовать от осознания того, что они говнокодеры)".

  • @user-mo7ge4cw3x
    @user-mo7ge4cw3x 9 месяцев назад

    Откуда у автора такая странная инфа про работу ядер процессора? И даже если бы это было правдой, все языки находятся в одинаковом положении и это никак не относится к медленности одних языков и скорости других.

    • @Edvard-Aliev
      @Edvard-Aliev 9 месяцев назад +1

      Чего? 😂😂😂 не пиши больше такого в интернете, сгоришь со стыда под сраку лет если найдёшь в недрах интернета этот пост

    • @user-mo7ge4cw3x
      @user-mo7ge4cw3x 9 месяцев назад

      @@Edvard-Aliev приятель, если ты не понял даже про что я написал, за что мне должно быть стыдно? Опиши глубины своего понимания моего поста и может быть действительно станет стыдно.

    • @Edvard-Aliev
      @Edvard-Aliev 9 месяцев назад

      @@user-mo7ge4cw3x 17 лет в ИТ, столько всего уже сожрал что даже не хочу обсуждать заезженные темы, извини.

  • @user-dj1hk6m8k
    @user-dj1hk6m8k 9 месяцев назад

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

  • @user-mo7ge4cw3x
    @user-mo7ge4cw3x 9 месяцев назад +4

    Гриша, хватит оправдывать бездарных разработчиков языков, они медленные, потому что разрабочики языков никогда не интересовала скорость их работы. А когда их популярность поставила вопрос об этом, легаси код из которого они слеплены внутри уже не дает возможности их переделать, не начиная всю разарботку с нуля. И уж если рассматривать удобные для разработки языки программирования возьмем Лисп, а именно SBCL, который является на порядок более высокоуровневым чем те же питон и руби, и который имеет встроенный компилятор и работает со скоростью Си.

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

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

    • @SabFo_
      @SabFo_ 9 месяцев назад

      По-вашему в Фейсбуке и Майкрософте питоном занимаются бездарные разработчики?)

    • @user-mo7ge4cw3x
      @user-mo7ge4cw3x 9 месяцев назад

      @@SabFo_ нет. он не функциональный, он мультипарадигменный. наличие инструкций setq или (set! в схеме) делает его императивным, соответственно, компилятор должен обрабатывать эти ситуации, и уже нельзя оптимизировать код лиспа как код чисто функциональных языков. Скорости лиспу добавляет компилятор, по иронии судьбы носящий название python, ну теперь уже немного другой, но первый был именно с таким названием.

    • @user-mo7ge4cw3x
      @user-mo7ge4cw3x 9 месяцев назад

      @@SabFo_ вы про что говорите, что они там в микрософте и в фейсбуке с питоном делают? Питон бездарен в рамках своей парадигмы: А давайте совместим синтаксис с форматированием. что у него еще есть отличное от других языков? да ничего. Ребята из больших компаний может что то и делают НА питоне, но что они делают для разработки самого питона? Они разрабатывают компилятор питона? нет. А именно это позволит кардинально ускорить код на питоне. Гвидо ван Россум этого сделать не может. Он разработал дизайн, внешний вид питона, язык верхнего уровня, он симпатичен(для новичков), но вглубь начинаются сложности, о чем и говорит Григорий(в других выступлениях). Это работа среднего уровня проектировщика, ну ладно, хорошего. Но не талантливого. Для лиспа первые компиляторы появились только в начале 90х годов, наверное спустя тридцать лет с разработки его дизайна. И их разработка была сделана действительно одарёнными разработчиками. Для питона таких разработчиков НЕТ, поэтому он и медленный.

  • @daggerok
    @daggerok 9 месяцев назад +4

    Блевать хочется от слов гошечка и тд

    • @borismor1
      @borismor1 9 месяцев назад

      Так гоферы сами так и говорят)

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

    Жовто-блакитный значек с питоном оскорбляет чувства верующих в СВО!

    • @SabFo_
      @SabFo_ 9 месяцев назад +2

      Это классическое лого питона, оно всегда было в таких цветах. А вы раз так против Украины, то чего на украинском пишите про цвета?

    • @Sergei-di9en
      @Sergei-di9en 9 месяцев назад

      @@SabFo_ а вы за Россию? поэтому на русском пишите? (д.бил)

    • @Petyaumniy
      @Petyaumniy 9 месяцев назад

      @@SabFo_ Это ничего не отменяет. Так же как самая эффективная пропаганда говорит только правду (черепикает единичную подходящую правду из гор неподходящей). Так же и существовавший до этого значек занял нужное место в кадре. :)
      Это я пошутил так, если вы не поняли. Украинский добавляет шутке дополнительных красок.

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

      @@Sergei-di9en потому что видео на русском и зрители на русском пишут комменты к нему, если ты не заметил. Если б видео и комменты были на англе, то и я бы писал на нём. Поэтому твоя аналогия говно, провокация не удалась, иди учись.

    • @Sergei-di9en
      @Sergei-di9en 8 месяцев назад

      @@SabFo_ Он на украинском написал. Ноль интеллекта у поросят

  • @yuriytheone
    @yuriytheone 9 месяцев назад

    Медленные, потому что интерпретируемые?