Size: a a a

2021 May 19

KS

Konstantin Shanduren... in graalvm_ru
Прошу прощения, отвлекся. Все решилось)
источник

OS

Oleg Shelajev in graalvm_ru
Когда промис пер батч?
источник

KS

Konstantin Shanduren... in graalvm_ru
Да. У меня есть input, из которого читаю. Всего элементов около 100к, а читать я могу не один раз, так что промисов создавалось за один контекст достаточно много. Объединение элементов в батчи по 10к (с промисом per batch) решило вообще все проблемы
источник
2021 May 20

ВВ

Виктор Вербицкий... in graalvm_ru
источник

OS

Oleg Shelajev in graalvm_ru
Gracias
источник
2021 May 26

DE

Dmitry Ermolchik 🚙💨💨... in graalvm_ru
Ого, новый GraalVM 21.1 может работать с JDK 16
источник

λ

λoλdog in graalvm_ru
С подключением )
источник
2021 June 03

E

EgorBo in graalvm_ru
Всем привет, а может кто подскажет где можно посмотреть на какие эвристики использует грааль для инлайнинга?
источник

E

Etki in graalvm_ru
Если вдруг не найдется знающих точно, то я бы начал искать от -XX опций, по ним и на исходный код можно выйти, и загуглить посты. Там было MaxInlining что-то там, вроде ограничение в 35 байт на байткод, плюс ещё пара опций.
источник

A

Artur in graalvm_ru
источник

E

EgorBo in graalvm_ru
вот это читал да, но получается не-ЕЕшный инлайнер совсем простой?
источник

E

EgorBo in graalvm_ru
но статья классная
источник

A

Artur in graalvm_ru
CE эвристики нужно читать в исходниках. GreedyInliningPolicy.isWorthInlining и все вокруг него.

Я туда очень повехностно смотрел. На первый взгляд концептуально похоже на то, что делает С2, а именно учитывает размер и профиль.
источник

E

EgorBo in graalvm_ru
Спасибо!

в целом логично, если есть 100% доверие профилю
источник

A

Artur in graalvm_ru
Да, разумно.

Замечу только, что профилю на 100% редко когда можно доверять. Profile pollution (см. например https://wiki.openjdk.java.net/display/HotSpot/MethodData), фазовые переходы в приложении (например, обрабатывали одни данные, а потом переключились на другие), нюансы реализации сбора профиля, все это может приводить к ситуациям, когда профиль лишь отдаленно отражает реальное поведение метода.
источник

E

EgorBo in graalvm_ru
угу + профиль в АОТ которому еще меньше доверия + его там может и не быть
источник

E

EgorBo in graalvm_ru
поэтому лучше положиться на эвристики, а потом их эффект помножить на профиль)
источник

E

EgorBo in graalvm_ru
а получается что профиль собирается для метода без контекста откуда он вызывался?
источник

A

Artur in graalvm_ru
На текущий момент в OpenJDK Hotspot да.
источник

A

Artur in graalvm_ru
На эту тему есть баг: https://bugs.openjdk.java.net/browse/JDK-8015416
источник