Ну да, конечно. Аллокация на каждый чих, куча всего уходит в долгоживущее поколение, которое сильно прожорливее короткоживущего. Вездесущая ленивость, куча кеш-мисов из-за неё.
Ну да, конечно. Аллокация на каждый чих, куча всего уходит в долгоживущее поколение, которое сильно прожорливее короткоживущего. Вездесущая ленивость, куча кеш-мисов из-за неё.
> куча всего уходит в долгоживущее поколение я это счас в ебанатику кину, будет debunking разработчиков котлина
люой дизайнер языка, который считает, что человек умнее компилятора, соврершает ошибку
Вот когда автопар и автовек будут более-менее нормально работать без постоянного ручного распараллеливания/использования интринсиков, тогда можно будет это сказать.
Да тот же хотспот - один из лучших рантаймов не умеет скаляризовать боксинг примитивов если в коде есть два пути - быстрый, где надо скаляризовать и медленный, где не надо, если вручную не генерировать вызов конструктора.
Как ты ловко умеешь выдирать из контекста. "Даже хотстпот" - это ты проигнорировал специально?
Поскольку в хаскеле нет (почти нет) виртуального диспатчинга и инлайнить вещи легко, он на этапе компиляции оптимизирует много чего, например, опять же, небоксинг примитивов
Вот что, конечно, у ФП языков не отнять - так это отсутствия алиасинга, который просто заноза в заднице, когда компилируешь си или плюсы. Поэтому я обожаю модификатор restrict.
Ленивость, кстати, это, разумеется, фича, но вовсе не преимущество. Иногда ленивость по дефолту и правда не нужна, поэтому нужны bang-паттерны, seq-и и прочее