
До сих пор люди иногда спорят о скорости программ, написанных на том или ином языке или платформе. Хотя тренд значительно пошёл на убыль и редко, где услышишь «Java тормозит» или «1 000 000 конкурентных подключений на node.js», но время от времени всё равно этот вопрос подымается.
Так вот.
У меня в «продакшене» уже несколько лет крутится куча сервисов, часть на JVM, часть на Rails, часть на Python, часть на PHP, парочка на node.
80% (а то и все 99%) проблем с производительностью ваших и моих приложений связаны с I/O и никак не связаны с тормознутостью интерпретатора отдельно взятого языка. Если вы не «Гугл», конечно. А вы — не «Гугл».
Так или иначе, всё упирается в базу данных и скорость выполнения запросов. В большой корпорации, где я раньше работал, сидел целый отдел (человек 50, не меньше) специальных людей, которые занимались тюнингом SQL-запросов. Каждый день, с утра до вечера. Переписывали говна, которые понаворотили обычные девелоперы, добавляли эзотерические оракловые хинты и... всё начинало быстро работать.
Ruby on Rails известен своей медлительностью во всяких модных бенчмарках. И действительно — интерпретатор медленный (по сравнению с JVM или node), а фреймворк «наворачивает» поверх этого кучу барахла, которое ещё больше замедляет время ответа. Да вот только вся скорость JVM-приложений, так или иначе, упирается в (No)SQL-запросы и сетевое взаимодействие.
Поэтому при выборе платформы на «перформенс» языка следует строго «забить» и взамен сосредоточиться на удобстве разработки, богатстве библиотек и инфраструктуры и на архитектуре структур данных и запросов к ним.
Ruby «тормозит»? Да плевать, зато я за 5 минут подыму работающее АРІ, пока вы будете импортировать build.gradle в IntelliJ.
Туда же NoSQL барахло. Современные базы работают очень бодро, поэтому «Постгреса» хватит всем. Ту да же микросервисы, но это отдельный разговор :)
И только когда наш продукт полетит, навалится пользователей и появится больше данных, вот только тогда можно (и нужно) смотреть, есть ли что-то, что уже нельзя оптимизировать без смены платформы и утолщения серверов. Но скорее всего, это случится очень не скоро :)
Автор: rozho)))k.
Ещё материалы по этой теме:
- Хороший рекламный текст
- Отслеживаем лайки как события в Google Analytics
- Плагин для поиска битых ссылок на Wordpress
- Дизайн формы комментариев на блоге
- Сколько должен стоить копирайтинг?