Size: a a a

2019 March 11

LS

Lev Serebryakov in graalvm_ru
Alexey Pomogaev
Так эти мегабайты из рамы на кеш линии еще нужно таскать. Так что не всё так просто. Я глубоко в этом вопросе не заходил, просто потестил, когда на ЛОР-е человек пожаловался, что джава в 2.5 раза больше ноды жрёт.
Ну, нужно ли таскать или просто они лежат несобранные (мёртвым грузом) — это ещё надо разобраться в каждом конкретном случае.
источник

LS

Lev Serebryakov in graalvm_ru
Но вообще, без value type'ов от развесистых структур данных, увы, в Java не приходится ждать ничего хорошего. Если у вас ключ long и значение — long (а эффективно Long), то в хэшмапе вы на каждые 16 полезных байтов теряете 3 заголовка объектов «бесполезных», и сравнение с языками с плотной упаковкой (go) как-то становится не очень корректным, увы.
источник

AP

Alexey Pomogaev in graalvm_ru
Тем не менее, результат ZGC мне очень понравился, буду пробовать её в новом проекте, надеюсь не подведёт )
источник

LS

Lev Serebryakov in graalvm_ru
И я ещё не проснулся — к трём заголовкам объектов ещё и три указателя. В общем, тоска.
источник

LS

Lev Serebryakov in graalvm_ru
Надо вообще наших опсов палочкой потыкать, что бы они погоняли QA-платформу на новых технологиях, может и правда стоит того, а то очень уж консервативные они у нас. На память нам наплевать, нас STW волнует, но может и с ним лучше?
источник

OS

Oleg Shelajev in graalvm_ru
Sergey Zolotov
вопрос по производительности после старта. натыкался на блогах, чуваки пишут там чуть ли не х2 прирост получают, некоторые в чатике говорят что наоборот может быть замедление. не закапываясь сильно вглубь, где правда?😃
про производительность чего мы сейчас говорим? и про какие метрики?
источник

OS

Oleg Shelajev in graalvm_ru
на глаз — лучшего стартапа чем с native image ожидать наверное слегка оптимистично
источник

OS

Oleg Shelajev in graalvm_ru
latency для короткобегущих програм - будет я думаю примерно такой же или лучше в native image
peak-performance -- будет лучше в jvm, лучше всех скорее всего в GraalVM EE, GraalVM CE по больнице примерно как С2, но там по-разному где-то проседает, где-то сильно лучше. GraalVM EE — практически универсально лучше чем C2 для обычных ворклоадов, всякая математика - не очень понятно, ну и то что специально написано что бы было быстрым на С2 — тоже скорее всего быстрее на С2 (но не факт)
источник

OS

Oleg Shelajev in graalvm_ru
stable state latency — это 1/throughput'a +- GC, что делает выбор GC очень важным
источник

OS

Oleg Shelajev in graalvm_ru
а, еще там для native images есть profile-guided-optimizations которые обычно подразгоняют почти до разогретого джита
источник

SZ

Sergey Zolotov in graalvm_ru
это и хотел узнать, спасибо)
источник

OS

Oleg Shelajev in graalvm_ru
это вот те 42 что выше только поподробнее. Мой biased совет — хочется peak performance — GraalVM EE  в помощь, хочется стартап — native image
источник

OS

Oleg Shelajev in graalvm_ru
не хочется писать на go, но хочется что б не было зависимости на jvm — АОТ всяческие в помощь, например GraalVM native image
источник

OS

Oleg Shelajev in graalvm_ru
ну и мерять конечно все-все
источник

OS

Oleg Shelajev in graalvm_ru
а, GC в native image — он слегка простой такой, не очень заточенный под долгоиграющие приложения, там и паузы будут и все
источник

OS

Oleg Shelajev in graalvm_ru
поговаривают что Roman Kennke из Редхата же занимается, по крайней мере коммиты там в oracle/graal идут. Интересно будет посмотреть что получится
источник

OS

Oleg Shelajev in graalvm_ru
Alexey Pomogaev
Поэтому от native-image я ожидал похожего результата, но получил 78 мб...
мне кажется 22 и 78 это достаточно похожие результаты. сейчас картинку покажу
источник

SZ

Sergey Zolotov in graalvm_ru
Oleg Shelajev
а, GC в native image — он слегка простой такой, не очень заточенный под долгоиграющие приложения, там и паузы будут и все
тогда не очень понятно как quarkus с native image для обычных веб сервисов собирается работать

135мб vs 35мб памяти с native image, ценой пауз и отказ от рефлексии?
источник

OS

Oleg Shelajev in graalvm_ru
для обычных веб сервисов - quarkus я так понимаю запускается на jvm и отлично себя чувствует, нет?
источник

SZ

Sergey Zolotov in graalvm_ru
да) но они же делают акцент на GraalVM
источник