Denis Fateyev
По потреблению или по утечкам через GC?
По потреблению, значительно выше чем у C/C++, по понятным причинам (до 5-10 раз) — но интерпретируемые решения потребляют ещё больше. Условно говоря, 20-30Мб аллоцируемых вместо 3Мб в C/C++ мне не жалко, учитывая что задолбаюсь делать руками какие-нибудь треды, их синхронизацию и управление памятью.
Насчет утечек: какие-то есть неизбежно, но ничего критичного не видел. Меня вполне устроит, если аптайм условного микросервиса будет 2-3 года с двойным потреблением памяти от исходного — но даже и такого (по метрикам) не происходит. К тому же, lifecycle типичного микросервиса меньше этого периода, его перезапустят/редеплойнут не раз за это время. Также, и в C-решениях можно допустить протечки, если провтыкать — требуется бОльший контроль кода, а это тоже время и деньги.
спасибо!