Anatoly
у меня один сервис крутится в 9 инстансах вместо 3х именно из-за стартап-тайма в 2 минуты
Anatoly
там иногда случается какая-то хрень и оно начинает каскадно падать
Anatoly
а новые ноды не успевают стартовать
Doge
ну и ОЗУ это херня, да
И да, ОЗУ - это херня, а вот размера кэша в проце и его использование - это нифига не фигня.
Doge
А если ты жрешь много ОЗУ - то и с кэшем у тебя тоже проблемы скорее всего
Anatoly
и вот пока шесть-семь нод умирают, новая как раз успеет стартовать
Doge
А кэш миссы - это бесконечно дорого в любом CPU-bound коде
Doge
Любой поход в реальную ОЗУ - это смерть, сотни циклов в никуда по сути
Doge
Даже L3 - это десятки циклов
Ayrat
Ayrat
впаяем ОЗУ в ЦПУ
Kirill
Kirill
почему?
а, прочитал дальше про пример
Ilya
Ilya
Но да, медленно всё равно.
Anatoly
Anatoly
M1!
Kirill
но стартап тайм 2 минуты, это какой то прогрев идет или почему так?
обычное дотнет приложение же быстрее заводится
Ayrat
Doge
Ayrat
и с джитами то что было не зиро кост может стать зирокост, точнее оно уже так и работает
Kirill
Doge
Ayrat
то есть ты пишешь говнокод, а он конфетка в рантайме.
JS еры на V8 так живут
Doge
И это как раз и плохо
Ayrat
Anatoly
Ayrat
в общем, моё мнение что для 99.99999% проектов житы - супер
Sergey
Ayrat
пишешь на приятном языке, а там пердит рантайм который старается и делает хорошо
Ilya
Я вот жду, когда компилятор реакта поумнее и начнёт инлайнить компоненты, например.
Doge
Ayrat
ну и если ты не дебил и понимаешь как работает рантайм можно вообще чудеса творить
Doge
И тебе приходится выбирать между абстракциями и скоростью выполнения
Doge
В то время, как в языках с хорошими оптимизирующими компиляторами таких проблем особо нет
Doge
Как пример, см. разницу в скорости циклов и стримов в той же джаве vs скорость циклов против растовских итераторов
Doge
У первых разница в 2 раза, у вторых - идентичный код с вручную написанным циклом
Doge
Doge
А почему тогда шарповый линк в разы медленее ручных циклов?
Ayrat
ты доказываешь что вручную можно сделать лучше. Да можно, кто ж спорит.
Но разница там несущественная для подавляющего большинства задач
Doge
Dima
Doge
Ayrat
Василий неплох
Ayrat
тонко
Mikhαil
Mikhαil
Это ж статистическая погрешность
Mikhαil
Не более
Mikhαil
Крылатый
Kirill
оптимизируем проект за счет кешей и выноса данных из sql в другие более специализированные хранилища
раст не поможет(
Doge
и это несущественно, как я уже говорил, для 99.9999% проектов
Но контекст разговора всё же был про байтоебство, а не про то, как в бд сходить.
Да и то, волшебные джиты и тут не особо всемогущи, вон тот же грааль умудряется и время старта сокращить на порядок, и потребление ОЗУ резать и код в целом ускорять (в некоторых случаях до 30% процентов)
Kirill
Крылатый
так уже
Сколько гигов воткнуто?
Kirill
Ayrat
Ждём JIT AI
Doge
Doge
Ждём JIT AI
У джита есть проблема ещё одна - он не может LTO делать
Ayrat
как только ITER достроим, получим термояд, сразу заживём
Dima
Doge
Поэтому ты всегда (в случае той же JVM) оказываешься с кучей лишнего говнокода в бинарнике, который вырезан не будет.
Ayrat
Doge
Потому что невырезанная метаинформация ощутимо её жрёт
Ayrat
не то чтобы это прям сильно страшная проблема. А что мешает в теории пошейкать либы и в случае жита?
Ayrat
единственная проблема это рефлективные вызовы, но это извините.
Ayrat
то есть если пошейкать бинарник с условием что нет рефлективных вызовов, то ноу проблем
Vasiliy
Ооо классный выпуск про распад ссср