Вообще мне интересен вот этот тезис — что если примитивное приложение на джаве требует 50 мегабайт, то если бы это снизили до 25, то любое Java-приложение стало бы жрать меньше в два раза
Я его не готов уверенно опровергать (тут нужно замерять), но не вполне понимаю его логику
Насколько понимаю, причины, по которым джава для примитивных штук требует 50 мегабайт, объясняются её принципиальным подходом с JVM, GC и прочим
И да, конечно, без виртуальной машины можно снизить оверхед и не требовать 50 мегабайт
Но только если делаешь приложение в десять раз сложнее примитивного, внутри него же не возникает десять виртуальных машин, каждая из которых хочет по 50 мегабайт
Поэтому для меня, когда из 50 мегабайт для примитивного приложения выводят тезис о «пропорциональном росте», это выглядит как вот этот xkcd:
конечно оно не в 2 раза стало бы жрать меньше, но и не на 25 мегабайт. там на каждый объект и на каждый кусок кода есть оверхед дополнительный относительно тех же плюсов. и по скорости и по объему памяти.