Про предварительную оптимизацию.
Слышал, что в VictoriaMetrics абсолютное большинство кода никак не оптимизировано, а задрочено под скорость только пара процентов кода (короче, узкие места). И вроде всё верно.
Однако наткнулся на такой коммент на реддите (там не про victoriametrics, но всё же), вот примерный перевод:
"Вы [...] утверждаете, что ЛЮБУЮ оптимизацию следует откладывать, пока она не станет проблемой. В реальности ваша архитектура буквально может сделать оптимизацию невозможной, если вы её даже не учитывали. Эти архитектурные решения НЕЛЬЗЯ просто переработать позже, если только вы не готовы остановить постоянную разработку новых функций и вложиться в ускорение вашего продукта. В реальности никто не хочет этого делать. Так что вы застреваете с программным обеспечением, которое работает как патока, и молитесь богу, чтобы не появился конкурент, который может делать то же, что и вы, но не раздражая пользователя (что буквально сделала Apple с iPhone и захватила целую индустрию). И вы можете избежать загона себя в угол, просто потратив несколько часов на обдумывание требований к производительности, выявление вероятных узких мест и написание эффективного кода с самого начала."
И реально ведь, вспоминаю ситуации, когда архитектура в целом настолько была не приспособлена под скорость, что уже ничего было нельзя сделать. А проекты, где скорость успешно допиливали "потом", всё же были написаны хоть как-то более менее в нужном ключе. Хотя бы на подходящем языке.
А учитывая, что медленный код тратит энергию (а это выбросы в атмосферу углекислого газа), думаю, всё же надо оптимизировать любой вообще код хотя бы чуть-чуть :)
🫥 Cross Join
⠀
Post #488
4.18K