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

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

CodeFest Russia

CodeFest Russia

Жыл бұрын

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

Пікірлер: 59
@maxdzyubak
@maxdzyubak 10 ай бұрын
Дядь Гриша - лучший 😁🔥🔥
@alekseydaviden355
@alekseydaviden355 Ай бұрын
Хорошая лекция! Докладчик молодец! Живо, интересно и доходчиво объясняет, манера подачи информации приятна!
@neolord50pro77
@neolord50pro77 8 ай бұрын
Так увлекла лекция, что только на середине заметил ковёр. Думал мне показалось сначала 😂
@ZlobniyTapoG
@ZlobniyTapoG 4 ай бұрын
Так увлекла, что даже не услышал докладчика про то, что он впервые выступает на фоне ковра, лол.
@user-kq8nk5vj5r
@user-kq8nk5vj5r 10 ай бұрын
Ковёр збс))
@VaeV1ct1s
@VaeV1ct1s 11 ай бұрын
Можно ссылку на интервью Гвидо?
@xm4dn355x
@xm4dn355x 10 ай бұрын
Если я правильно помню, то вроде в этом интервью там говорилось про JIT-компиляцию) если Вы об этом) kzfaq.info/get/bejne/Y6qGrM2V3JrYaX0.html
@dmitriyobidin6049
@dmitriyobidin6049 8 ай бұрын
Всё красиво, но вот с Руби у меня всегда есть один вопрос. Зашел посмотреть на вакансии Еврона. Фулстек Руби + Реакт - 270к Мидл Реакт - 300к Го разраб - 380к Пайтон - 450к Почему Рубисты так проседают по ЗП? Если они деливерят так много value и так быстро? При этом им надо еще и фронт покрывать... Почему тогда не пойти просто обычным мидл реактером за бОльшие деньги? Или питонистом чуть ли не на х2 и без фронтенда...
@SuperRob1968
@SuperRob1968 7 ай бұрын
А сейчас вообще нет
@user-lo1pf5yg8q
@user-lo1pf5yg8q 6 ай бұрын
Проблема в том что руби - язык стартапов, если вы смотрите зп в РФ, где по некоторым причинам стартап культура не развита :) - рубисты будут проседать по ЗП. Если посмотреть долину, то там будет все подругому)
@dmitriyobidin6049
@dmitriyobidin6049 6 ай бұрын
@@user-lo1pf5yg8q Так я же именно про еврон, они вот пиарят свою руби практику, говорят что рубисты пилят бизнес фичи и приносят бабки, а не просто пишут горы кода. Но почему-то даже у них рубисты получают ниже остальных. Так тогда вопрос, а зачем мне изучать руби и пилить фичи для бизнеса с повышенной эффективностью, если этот бизнес не хочет платить за эту повышенную эффективность.
@user-rj4zb2co7l
@user-rj4zb2co7l Күн бұрын
Как так вышло что SpiderMonkey (Mozilla Firefox) оказался быстрее и безопасней V8?
@euor800
@euor800 8 ай бұрын
Питон - такой же интерпретатор, как, скажем, Basic, но встроеный в браузер и, поэтому, может гонять скрипт как на локальном компе, так и исполнять библиотеки на сервере (на облаке). Когда скрипт Питона бежит локально - он медленнее компилированного бинарного кода, напр. на С. А скорость серверных библиотек замедляется вэб траффиком, хотя скорость их исполнения очень велика (напр. TensorFlow от Google)
@user-lz5wk4zx3l
@user-lz5wk4zx3l 8 ай бұрын
Бейсик вовсе не интерпретатор, но о таких вещах, как кеш память или регистры, он не знает ничего. За каждой переменной и за каждым индексом он лазит в основную память, и это медленный процесс. Ускорить процесс могут вставки на ассемблере, но их непонятно, как делать. Тем не менее Визуал Бейсик 6 по своему быстродействию, на мой взгляд, работает удовлетворительно. Я делаю в этой среде синтез музыкального звука, векторную графику и анимацию..
@user-xf4pb7pt7n
@user-xf4pb7pt7n 4 ай бұрын
сколько же долбоев как ты лезут в айти и рынок полон таких, и в итоге хантеры не могут просто попасть на нормальных ребят
@user-tq5si1pj8j
@user-tq5si1pj8j 4 ай бұрын
Ковёр красивый и это самое главное
@anatoly-k
@anatoly-k Жыл бұрын
что значит C# угас, на чём основано?
@user-gi4qu9do2v
@user-gi4qu9do2v 11 ай бұрын
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 под веб плюсы не топ
@ixtirochiavlodlar
@ixtirochiavlodlar 11 ай бұрын
Интересное Рубашка
@user-jj5mi1yl6p
@user-jj5mi1yl6p Жыл бұрын
Риторика о цене создания нового кода и цене выполнения кода не учитывает цену поддержки кода. Поддерживать код интерпретируемого языка с динамической типизацией значительно тяжелее чем код компилируемого языка со строгой статической типизацией.
@rugleb
@rugleb 10 ай бұрын
Почему это?
@phat80
@phat80 9 ай бұрын
@@rugleb меньше багов и ошибок. Когда ты четко прописываешь типы, это всегда лучше, чем когда интерпретатор сам додумывает. Ну и скорость выполнения такого кода всегда будет ниже.
@artemiy_uo
@artemiy_uo 9 ай бұрын
Прописывай типы где нужно на руби и рационе. Пиши тесты.
@vadimburavlev4773
@vadimburavlev4773 10 күн бұрын
@@phat80 например, в js медленнее будет только в 1 запуск, далее VM проведет оптимизацию и поймет какие нужны типы и все будет работать быстро
@mirvin11
@mirvin11 9 ай бұрын
Это вот у js простая семантика? Ну и бред
@xeleos
@xeleos 8 ай бұрын
других языков не видел что ли? js проще всех
@jjaard
@jjaard 8 ай бұрын
+100 за ковёр 😂
@qazaqbalasy916
@qazaqbalasy916 8 ай бұрын
Чуваки, это же советский ковер
@user-jj5mi1yl6p
@user-jj5mi1yl6p Жыл бұрын
Риторика о скорости JS немного насмерть разбиваются о факт того, что Go победил серверный JS уже много лет назад.
@yuriytheone
@yuriytheone 9 ай бұрын
В твоих влажных фантазиях...😂😂😂
@sakuraburst9657
@sakuraburst9657 9 ай бұрын
@@yuriytheone Объективно го быстрее жса, у него намного лучше работа с параллельным программированием, работа с памятью и простой рантайм, который написан на самом го. Но про победу на серверах спорно, согласен
@nadzhafox
@nadzhafox 8 ай бұрын
"факт победы" это нокаутом или техническая?
@user-qt4fp6vx3f
@user-qt4fp6vx3f 8 ай бұрын
Вижу кучу вакансий типа требуется переписать с РНР на го и с Пуитона на ГО. Чтобы было наоборот не видел
@user-mo7ge4cw3x
@user-mo7ge4cw3x 9 ай бұрын
Откуда у автора такая странная инфа про работу ядер процессора? И даже если бы это было правдой, все языки находятся в одинаковом положении и это никак не относится к медленности одних языков и скорости других.
@Edvard-Aliev
@Edvard-Aliev 9 ай бұрын
Чего? 😂😂😂 не пиши больше такого в интернете, сгоришь со стыда под сраку лет если найдёшь в недрах интернета этот пост
@user-mo7ge4cw3x
@user-mo7ge4cw3x 9 ай бұрын
@@Edvard-Aliev приятель, если ты не понял даже про что я написал, за что мне должно быть стыдно? Опиши глубины своего понимания моего поста и может быть действительно станет стыдно.
@Edvard-Aliev
@Edvard-Aliev 9 ай бұрын
@@user-mo7ge4cw3x 17 лет в ИТ, столько всего уже сожрал что даже не хочу обсуждать заезженные темы, извини.
@ledest
@ledest 8 ай бұрын
"Прикольно и с юмором о говнокодерстве для говнокодеров (чтоб они перестали комплексовать от осознания того, что они говнокодеры)".
@user-dj1hk6m8k
@user-dj1hk6m8k 9 ай бұрын
Все хорошо только без правдивой достоверной первичной информации все это ничего не нужно , очередной словесный мусор ваша информация дозированная ограничена много не полезной информации а скорее слухов
@user-mo7ge4cw3x
@user-mo7ge4cw3x 9 ай бұрын
Гриша, хватит оправдывать бездарных разработчиков языков, они медленные, потому что разрабочики языков никогда не интересовала скорость их работы. А когда их популярность поставила вопрос об этом, легаси код из которого они слеплены внутри уже не дает возможности их переделать, не начиная всю разарботку с нуля. И уж если рассматривать удобные для разработки языки программирования возьмем Лисп, а именно SBCL, который является на порядок более высокоуровневым чем те же питон и руби, и который имеет встроенный компилятор и работает со скоростью Си.
@SabFo_
@SabFo_ 9 ай бұрын
Так лисп же функциональный, насколько я знаю. А подобные языки очень легко параллелятся чуть не на уровне компилятора, что добавляет им скорости.
@SabFo_
@SabFo_ 9 ай бұрын
По-вашему в Фейсбуке и Майкрософте питоном занимаются бездарные разработчики?)
@user-mo7ge4cw3x
@user-mo7ge4cw3x 9 ай бұрын
@@SabFo_ нет. он не функциональный, он мультипарадигменный. наличие инструкций setq или (set! в схеме) делает его императивным, соответственно, компилятор должен обрабатывать эти ситуации, и уже нельзя оптимизировать код лиспа как код чисто функциональных языков. Скорости лиспу добавляет компилятор, по иронии судьбы носящий название python, ну теперь уже немного другой, но первый был именно с таким названием.
@user-mo7ge4cw3x
@user-mo7ge4cw3x 9 ай бұрын
@@SabFo_ вы про что говорите, что они там в микрософте и в фейсбуке с питоном делают? Питон бездарен в рамках своей парадигмы: А давайте совместим синтаксис с форматированием. что у него еще есть отличное от других языков? да ничего. Ребята из больших компаний может что то и делают НА питоне, но что они делают для разработки самого питона? Они разрабатывают компилятор питона? нет. А именно это позволит кардинально ускорить код на питоне. Гвидо ван Россум этого сделать не может. Он разработал дизайн, внешний вид питона, язык верхнего уровня, он симпатичен(для новичков), но вглубь начинаются сложности, о чем и говорит Григорий(в других выступлениях). Это работа среднего уровня проектировщика, ну ладно, хорошего. Но не талантливого. Для лиспа первые компиляторы появились только в начале 90х годов, наверное спустя тридцать лет с разработки его дизайна. И их разработка была сделана действительно одарёнными разработчиками. Для питона таких разработчиков НЕТ, поэтому он и медленный.
@daggerok
@daggerok 9 ай бұрын
Блевать хочется от слов гошечка и тд
@borismor1
@borismor1 8 ай бұрын
Так гоферы сами так и говорят)
@Petyaumniy
@Petyaumniy 9 ай бұрын
Жовто-блакитный значек с питоном оскорбляет чувства верующих в СВО!
@SabFo_
@SabFo_ 9 ай бұрын
Это классическое лого питона, оно всегда было в таких цветах. А вы раз так против Украины, то чего на украинском пишите про цвета?
@Sergei-di9en
@Sergei-di9en 8 ай бұрын
@@SabFo_ а вы за Россию? поэтому на русском пишите? (д.бил)
@Petyaumniy
@Petyaumniy 8 ай бұрын
@@SabFo_ Это ничего не отменяет. Так же как самая эффективная пропаганда говорит только правду (черепикает единичную подходящую правду из гор неподходящей). Так же и существовавший до этого значек занял нужное место в кадре. :) Это я пошутил так, если вы не поняли. Украинский добавляет шутке дополнительных красок.
@SabFo_
@SabFo_ 8 ай бұрын
@@Sergei-di9en потому что видео на русском и зрители на русском пишут комменты к нему, если ты не заметил. Если б видео и комменты были на англе, то и я бы писал на нём. Поэтому твоя аналогия говно, провокация не удалась, иди учись.
@Sergei-di9en
@Sergei-di9en 8 ай бұрын
@@SabFo_ Он на украинском написал. Ноль интеллекта у поросят
@yuriytheone
@yuriytheone 9 ай бұрын
Медленные, потому что интерпретируемые?
Давит Биджоян. Features selection process
35:00
CodeFest Russia
Рет қаралды 396
Григорий Петров. Python в 2022
40:24
CodeFest Russia
Рет қаралды 11 М.
Заметили?
00:11
Double Bubble
Рет қаралды 3 МЛН
Григорий Петров - Почему Python медленный?
27:39
Что произошло в мире Python за 2023 год
46:29
👎Главный МИНУС планшета Apple🍏
0:29
Demin's Lounge
Рет қаралды 515 М.
Huawei который почти как iPhone
0:53
Romancev768
Рет қаралды 617 М.
Карточка Зарядка 📱 ( @ArshSoni )
0:23
EpicShortsRussia
Рет қаралды 467 М.