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

  Рет қаралды 13,469

CodeFest Russia

CodeFest Russia

Жыл бұрын

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

Пікірлер: 65
@maxdzyubak
@maxdzyubak 11 ай бұрын
Дядь Гриша - лучший 😁🔥🔥
@neolord50pro77
@neolord50pro77 9 ай бұрын
Так увлекла лекция, что только на середине заметил ковёр. Думал мне показалось сначала 😂
@ZlobniyTapoG
@ZlobniyTapoG 5 ай бұрын
Так увлекла, что даже не услышал докладчика про то, что он впервые выступает на фоне ковра, лол.
@alekseydaviden355
@alekseydaviden355 2 ай бұрын
Хорошая лекция! Докладчик молодец! Живо, интересно и доходчиво объясняет, манера подачи информации приятна!
@user-kq8nk5vj5r
@user-kq8nk5vj5r 11 ай бұрын
Ковёр збс))
@user-tq5si1pj8j
@user-tq5si1pj8j 5 ай бұрын
Ковёр красивый и это самое главное
@dmitriyobidin6049
@dmitriyobidin6049 9 ай бұрын
Всё красиво, но вот с Руби у меня всегда есть один вопрос. Зашел посмотреть на вакансии Еврона. Фулстек Руби + Реакт - 270к Мидл Реакт - 300к Го разраб - 380к Пайтон - 450к Почему Рубисты так проседают по ЗП? Если они деливерят так много value и так быстро? При этом им надо еще и фронт покрывать... Почему тогда не пойти просто обычным мидл реактером за бОльшие деньги? Или питонистом чуть ли не на х2 и без фронтенда...
@SuperRob1968
@SuperRob1968 8 ай бұрын
А сейчас вообще нет
@user-lo1pf5yg8q
@user-lo1pf5yg8q 7 ай бұрын
Проблема в том что руби - язык стартапов, если вы смотрите зп в РФ, где по некоторым причинам стартап культура не развита :) - рубисты будут проседать по ЗП. Если посмотреть долину, то там будет все подругому)
@dmitriyobidin6049
@dmitriyobidin6049 7 ай бұрын
@@user-lo1pf5yg8q Так я же именно про еврон, они вот пиарят свою руби практику, говорят что рубисты пилят бизнес фичи и приносят бабки, а не просто пишут горы кода. Но почему-то даже у них рубисты получают ниже остальных. Так тогда вопрос, а зачем мне изучать руби и пилить фичи для бизнеса с повышенной эффективностью, если этот бизнес не хочет платить за эту повышенную эффективность.
@ixtirochiavlodlar
@ixtirochiavlodlar Жыл бұрын
Интересное Рубашка
@anatoly-k
@anatoly-k Жыл бұрын
что значит C# угас, на чём основано?
@user-gi4qu9do2v
@user-gi4qu9do2v Жыл бұрын
C# взлетел после угасания в пандемию и стал лучшей альтернативой джавы на новых проектах + микромягие форсили его под azure. Это хороший (я, как дотнетчик, считаю лучший) язык, если нужно писать много бизнесвого кода, но поддрежка сообщества у него очень слабая, поэтому стартапы делать риковано. Допустим, понадобится какая-то технология, которую не написали майкрософт - бэк для колаборативного редатора например. На с# нет готовых решений, а на js их много и они еще интегрированы с фронтовыми библиотеками. Получается, что на ноде\питоне из-за хайпа очень много полезных вещей, сделанных сообществом и это сильно упрощает жизнь и снимает риски с бизнеса. Иногда приходится заводить сервис на другом языке исключительно из-за того, что на нем есть технологий, которой нет на дотнете
@Edvard-Aliev
@Edvard-Aliev 10 ай бұрын
@@user-gi4qu9do2vтак и живем!
@phat80
@phat80 10 ай бұрын
@@user-gi4qu9do2vА самим написать слабо? Почему у всех привычка использовать только готовое? Берите пример с 1Сников 😂 Они пишут свои велосипеды постоянно, хотя их уже сотня-другая чужих.
@yuriytheone
@yuriytheone 10 ай бұрын
Кому нужно говно C# если есть компилируемы C++?
@Edvard-Aliev
@Edvard-Aliev 10 ай бұрын
@@yuriytheone под веб плюсы не топ
@user-rj4zb2co7l
@user-rj4zb2co7l Ай бұрын
Как так вышло что SpiderMonkey (Mozilla Firefox) оказался быстрее и безопасней V8?
@euor800
@euor800 9 ай бұрын
Питон - такой же интерпретатор, как, скажем, Basic, но встроеный в браузер и, поэтому, может гонять скрипт как на локальном компе, так и исполнять библиотеки на сервере (на облаке). Когда скрипт Питона бежит локально - он медленнее компилированного бинарного кода, напр. на С. А скорость серверных библиотек замедляется вэб траффиком, хотя скорость их исполнения очень велика (напр. TensorFlow от Google)
@user-lz5wk4zx3l
@user-lz5wk4zx3l 9 ай бұрын
Бейсик вовсе не интерпретатор, но о таких вещах, как кеш память или регистры, он не знает ничего. За каждой переменной и за каждым индексом он лазит в основную память, и это медленный процесс. Ускорить процесс могут вставки на ассемблере, но их непонятно, как делать. Тем не менее Визуал Бейсик 6 по своему быстродействию, на мой взгляд, работает удовлетворительно. Я делаю в этой среде синтез музыкального звука, векторную графику и анимацию..
@user-xf4pb7pt7n
@user-xf4pb7pt7n 5 ай бұрын
сколько же долбоев как ты лезут в айти и рынок полон таких, и в итоге хантеры не могут просто попасть на нормальных ребят
@VaeV1ct1s
@VaeV1ct1s Жыл бұрын
Можно ссылку на интервью Гвидо?
@xm4dn355x
@xm4dn355x 11 ай бұрын
Если я правильно помню, то вроде в этом интервью там говорилось про JIT-компиляцию) если Вы об этом) kzbin.info/www/bejne/Y3W5qp2arJmnb6s
@jjaard
@jjaard 9 ай бұрын
+100 за ковёр 😂
@qazaqbalasy916
@qazaqbalasy916 9 ай бұрын
Чуваки, это же советский ковер
@user-jj5mi1yl6p
@user-jj5mi1yl6p Жыл бұрын
Риторика о цене создания нового кода и цене выполнения кода не учитывает цену поддержки кода. Поддерживать код интерпретируемого языка с динамической типизацией значительно тяжелее чем код компилируемого языка со строгой статической типизацией.
@rugleb
@rugleb 11 ай бұрын
Почему это?
@phat80
@phat80 10 ай бұрын
@@rugleb меньше багов и ошибок. Когда ты четко прописываешь типы, это всегда лучше, чем когда интерпретатор сам додумывает. Ну и скорость выполнения такого кода всегда будет ниже.
@artemiy_uo
@artemiy_uo 10 ай бұрын
Прописывай типы где нужно на руби и рационе. Пиши тесты.
@vadimburavlev4773
@vadimburavlev4773 Ай бұрын
@@phat80 например, в js медленнее будет только в 1 запуск, далее VM проведет оптимизацию и поймет какие нужны типы и все будет работать быстро
@daiske2867
@daiske2867 16 күн бұрын
@@vadimburavlev4773 проблема вашего утверждения лишь в том, что вы ставите неявное предположение о том, что js код будет написан эффективнейшим способом( с точки зрения оптимизации этим самым рантаймом само собой ), но проблема в том, что в жизни не так, в жизни ваша функция sum(a, b) будет принимать все что угодно, но не 2 числа int не превышающих 2^30 степени +1 знаковый бит, а значит заведомо будет менее оптимизирована чем того хотелось.
@user-jj5mi1yl6p
@user-jj5mi1yl6p Жыл бұрын
Риторика о скорости JS немного насмерть разбиваются о факт того, что Go победил серверный JS уже много лет назад.
@yuriytheone
@yuriytheone 10 ай бұрын
В твоих влажных фантазиях...😂😂😂
@sakuraburst9657
@sakuraburst9657 10 ай бұрын
@@yuriytheone Объективно го быстрее жса, у него намного лучше работа с параллельным программированием, работа с памятью и простой рантайм, который написан на самом го. Но про победу на серверах спорно, согласен
@nadzhafox
@nadzhafox 9 ай бұрын
"факт победы" это нокаутом или техническая?
@user-qt4fp6vx3f
@user-qt4fp6vx3f 9 ай бұрын
Вижу кучу вакансий типа требуется переписать с РНР на го и с Пуитона на ГО. Чтобы было наоборот не видел
@daiske2867
@daiske2867 16 күн бұрын
@@sakuraburst9657 вы вроде и даете верное полагание о том, что го хорош ибо компиляция. Но тот факт, что рантайм написан не на самом языке разбивается об то, что js это встраиваемый язык. То есть уже должен быть готова среда исполнения этого js и в ней он будет выполняться, а значит он выполняется тем быстрее чем эффективнее эта среда исполняется, ну и до кучи, то, что язык используется корректным образом, читай не тормозящим.
@ledest
@ledest 9 ай бұрын
"Прикольно и с юмором о говнокодерстве для говнокодеров (чтоб они перестали комплексовать от осознания того, что они говнокодеры)".
@mirvin11
@mirvin11 10 ай бұрын
Это вот у js простая семантика? Ну и бред
@xeleos
@xeleos 9 ай бұрын
других языков не видел что ли? js проще всех
@daiske2867
@daiske2867 16 күн бұрын
@@xeleos проблема js в том, что на нем можно решить задачу, совершенно неправильным способом и не подозревать ни о чем. Привет const delta = ["buuuuu",2]; let out = "41"; const f = function some(){ delta[0] = hard_given_int_math_return_int(out); let [a, b, c] = [1,2,3,4]; }
@user-mo7ge4cw3x
@user-mo7ge4cw3x 10 ай бұрын
Откуда у автора такая странная инфа про работу ядер процессора? И даже если бы это было правдой, все языки находятся в одинаковом положении и это никак не относится к медленности одних языков и скорости других.
@Edvard-Aliev
@Edvard-Aliev 10 ай бұрын
Чего? 😂😂😂 не пиши больше такого в интернете, сгоришь со стыда под сраку лет если найдёшь в недрах интернета этот пост
@user-mo7ge4cw3x
@user-mo7ge4cw3x 10 ай бұрын
@@Edvard-Aliev приятель, если ты не понял даже про что я написал, за что мне должно быть стыдно? Опиши глубины своего понимания моего поста и может быть действительно станет стыдно.
@Edvard-Aliev
@Edvard-Aliev 10 ай бұрын
@@user-mo7ge4cw3x 17 лет в ИТ, столько всего уже сожрал что даже не хочу обсуждать заезженные темы, извини.
@user-dj1hk6m8k
@user-dj1hk6m8k 10 ай бұрын
Все хорошо только без правдивой достоверной первичной информации все это ничего не нужно , очередной словесный мусор ваша информация дозированная ограничена много не полезной информации а скорее слухов
@user-mo7ge4cw3x
@user-mo7ge4cw3x 10 ай бұрын
Гриша, хватит оправдывать бездарных разработчиков языков, они медленные, потому что разрабочики языков никогда не интересовала скорость их работы. А когда их популярность поставила вопрос об этом, легаси код из которого они слеплены внутри уже не дает возможности их переделать, не начиная всю разарботку с нуля. И уж если рассматривать удобные для разработки языки программирования возьмем Лисп, а именно SBCL, который является на порядок более высокоуровневым чем те же питон и руби, и который имеет встроенный компилятор и работает со скоростью Си.
@SabFo_
@SabFo_ 10 ай бұрын
Так лисп же функциональный, насколько я знаю. А подобные языки очень легко параллелятся чуть не на уровне компилятора, что добавляет им скорости.
@SabFo_
@SabFo_ 10 ай бұрын
По-вашему в Фейсбуке и Майкрософте питоном занимаются бездарные разработчики?)
@user-mo7ge4cw3x
@user-mo7ge4cw3x 10 ай бұрын
@@SabFo_ нет. он не функциональный, он мультипарадигменный. наличие инструкций setq или (set! в схеме) делает его императивным, соответственно, компилятор должен обрабатывать эти ситуации, и уже нельзя оптимизировать код лиспа как код чисто функциональных языков. Скорости лиспу добавляет компилятор, по иронии судьбы носящий название python, ну теперь уже немного другой, но первый был именно с таким названием.
@user-mo7ge4cw3x
@user-mo7ge4cw3x 10 ай бұрын
@@SabFo_ вы про что говорите, что они там в микрософте и в фейсбуке с питоном делают? Питон бездарен в рамках своей парадигмы: А давайте совместим синтаксис с форматированием. что у него еще есть отличное от других языков? да ничего. Ребята из больших компаний может что то и делают НА питоне, но что они делают для разработки самого питона? Они разрабатывают компилятор питона? нет. А именно это позволит кардинально ускорить код на питоне. Гвидо ван Россум этого сделать не может. Он разработал дизайн, внешний вид питона, язык верхнего уровня, он симпатичен(для новичков), но вглубь начинаются сложности, о чем и говорит Григорий(в других выступлениях). Это работа среднего уровня проектировщика, ну ладно, хорошего. Но не талантливого. Для лиспа первые компиляторы появились только в начале 90х годов, наверное спустя тридцать лет с разработки его дизайна. И их разработка была сделана действительно одарёнными разработчиками. Для питона таких разработчиков НЕТ, поэтому он и медленный.
@daiske2867
@daiske2867 16 күн бұрын
@@SabFo_ ваша риторика построена на логической ошибке, в предложенных вами компаниях могут работать бездарные разработчики и они могут заниматься питоном. Проблема не в них, проблема в том, что их может просто не хватать.
@daggerok
@daggerok 10 ай бұрын
Блевать хочется от слов гошечка и тд
@borismor1
@borismor1 9 ай бұрын
Так гоферы сами так и говорят)
@Petyaumniy
@Petyaumniy 10 ай бұрын
Жовто-блакитный значек с питоном оскорбляет чувства верующих в СВО!
@SabFo_
@SabFo_ 10 ай бұрын
Это классическое лого питона, оно всегда было в таких цветах. А вы раз так против Украины, то чего на украинском пишите про цвета?
@Sergei-di9en
@Sergei-di9en 10 ай бұрын
@@SabFo_ а вы за Россию? поэтому на русском пишите? (д.бил)
@Petyaumniy
@Petyaumniy 9 ай бұрын
@@SabFo_ Это ничего не отменяет. Так же как самая эффективная пропаганда говорит только правду (черепикает единичную подходящую правду из гор неподходящей). Так же и существовавший до этого значек занял нужное место в кадре. :) Это я пошутил так, если вы не поняли. Украинский добавляет шутке дополнительных красок.
@SabFo_
@SabFo_ 9 ай бұрын
@@Sergei-di9en потому что видео на русском и зрители на русском пишут комменты к нему, если ты не заметил. Если б видео и комменты были на англе, то и я бы писал на нём. Поэтому твоя аналогия говно, провокация не удалась, иди учись.
@Sergei-di9en
@Sergei-di9en 9 ай бұрын
@@SabFo_ Он на украинском написал. Ноль интеллекта у поросят
@yuriytheone
@yuriytheone 10 ай бұрын
Медленные, потому что интерпретируемые?
@daiske2867
@daiske2867 16 күн бұрын
ассемблер интерпретируемый, он медленный? Смотря какой и смотря где.
Давит Биджоян. Features selection process
35:00
CodeFest Russia
Рет қаралды 425
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 153 МЛН
Was ist im Eis versteckt? 🧊 Coole Winter-Gadgets von Amazon
00:37
SMOL German
Рет қаралды 29 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
1❤️
00:17
Nonomen ノノメン
Рет қаралды 11 МЛН
Чего ожидать от HTTP/3 + Go
51:07
Нина Пакшина
Рет қаралды 871
Григорий Петров / Почему Ruby медленный?
33:16
Secret Wireless charger 😱 #shorts
0:28
Mr DegrEE
Рет қаралды 2,5 МЛН
В России ускорили интернет в 1000 раз
0:18
Короче, новости
Рет қаралды 1,3 МЛН
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
iPhone 16 с инновационным аккумулятором
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 2 МЛН
Неразрушаемый смартфон
1:00
Status
Рет қаралды 2,3 МЛН
Как слушать музыку с помощью чека?
0:36