Size: a a a

2019 April 25

A

Alex in graalvm_ru
Ну и тут именно уже свой ворклоад и задачи мерять
источник

AW

Alex White in graalvm_ru
Oleg Shelajev
Мне кажется это очень нишевый вопрос так что я думаю нет никаких таких таблиц ни у кого
вопрос нишевый, но он, имхо, должен возникать перед разработчиками житов
иначе почему бы не гонять ллвм каждый раз, например
источник

AW

Alex White in graalvm_ru
еще есть проблема в том, что я точно не спец по жаве, поэтому даеж если я намеряю какие-то цифры, будет большой вопрос, насколько они соответствуют правде, тк я могу что-то зафакапить в настройках жавы, например
источник

AW

Alex White in graalvm_ru
Alex
Ну и тут именно уже свой ворклоад и задачи мерять
в моей ситуации, у меня нет "моего" ворклоада. Мне надо происследовать, насколько жава может быть ускорена нашими фичами и насколько от этого всем станет хуже
источник

A

Alex in graalvm_ru
Alex White
вопрос нишевый, но он, имхо, должен возникать перед разработчиками житов
иначе почему бы не гонять ллвм каждый раз, например
Ну так азуловский jit falcon и построен поверх llvm со своими доработками
источник

A

Alex in graalvm_ru
И перед разработчиками jit (сужу по докладам из оракл, интела, грааля, азул, IBM j9) почти никогда они не подымают тему скорости самого jit, всегда упор идёт на то насколько эффективным получается финальный код
источник

A

Alex in graalvm_ru
У ораклового с1 быстрый старт
С2 больше как уже сказано было интересен финальный результат
источник

A

Alex in graalvm_ru
Graal выходит на пиковую производительность ещё позже чем C2, по мере работы потребляет больше памяти и cpu, но финальный код получается более оптимальный во многих случаях и может выпилить вагон алокаций объектов, там где С2 пасует и будет создавать мусор
источник

A

Alex in graalvm_ru
У j9 они показывали свой мемори лайоут для объектов, такие недовалуе тайпы, на некоторых ворклоадах полученный код оказывется заметно быстрее, так как не нужно лишний раз по ссылке переходить
источник

A

Alex in graalvm_ru
И практически нигде не было обсуждения вопросов "сколько мы ресурсов используем чтобы достичь этого результата", так как хоть лимит у jit на работу и есть, но все больше рассказывают о нем лишь мельком, всем интересно насколько быстрый код получится на выходе
источник

A

Alex in graalvm_ru
Прогнать aot и получить финальный бинарник можно, но часто без про файла он оказывается медленней чем что выдаст jit со статистикой переходов и тд
источник

A

Alex in graalvm_ru
Native image позволяет скомпилироваит с дебаг инфой, собрать профиль, перекомпилировать с профилем
источник

A

Alex in graalvm_ru
Excelsior Jet тоже вроде как позволяет это сделать

@pjBooms исправь если я не прав
источник

ПФ

Паша Финкельштейн in graalvm_ru
Да и с профайлом гарантий нет
источник

A

Alex in graalvm_ru
Проблему сбора профиля и выход на пиковую производительность в azul решают записывая этот профиль на диск, дальше на старте перечитали с начала до конца, посмотрели где оптимизации подтвердились, где откатывались, собрали jit'ом нужные методы. Вот тут как раз наверное единственный пример когда время старта напрямую зависит от скорости jit
источник

ПФ

Паша Финкельштейн in graalvm_ru
Сейчас у тебя профиль, а завтра нестандартный ворклоад и прилетели
источник

A

Alex in graalvm_ru
Это да, всегда интересовало есть ли откат когда профиль поменялся, но на trap с деоптимизациями не натыкаешься, все говорят что просто медленней будешь :(
источник

ПФ

Паша Финкельштейн in graalvm_ru
Alex
Это да, всегда интересовало есть ли откат когда профиль поменялся, но на trap с деоптимизациями не натыкаешься, все говорят что просто медленней будешь :(
Зависит от ВМ
источник

A

Alex in graalvm_ru
А вот если на де оптимизации нарвался, то там есть шанс что новый профиль соберут нормально
источник

ПФ

Паша Финкельштейн in graalvm_ru
А, подожди, зачем откат если трэпа нет?
источник