Size: a a a

2020 October 25

A

Alex in graalvm_ru
EgorBo
а можно как-то кодген посмотреть? меня интересует идет ли там вызов ieeeREMINDER
с jvm jit сложнее чем с дотнетовским

дотнетовский кодоген достаточно предсказуемый
в jvm в зависимости от того какие данные в момент профилирования были для одно и того же байткода можно получить очень разный ассемблерный код

а гадать поведение по байткоду это уж совсем неблагодарное занятие (и бесполезное ко всему прочему)
источник

A

Alex in graalvm_ru
но да, hsdis и разбираться что там было
источник

A

Alex in graalvm_ru
источник

A

Alex in graalvm_ru
ещё в помощь
источник

ВВ

Виктор Вербицкий... in graalvm_ru
Ну и потом можно этоот тест в JMH запихнуть. Он умеет раскладку по результатам джита делать: https://github.com/openjdk/jmh
источник

ВВ

Виктор Вербицкий... in graalvm_ru
С JMH наверно быстрее всего понять что происходит. Главное hsdis в JVM установиить
источник

E

EgorBo in graalvm_ru
спасибо, попробую

> дотнетовский кодоген достаточно предсказуемый

если что, он тоже умеет собирать профиль на тиер0 и его использовать в тиер1 😉
источник

ВВ

Виктор Вербицкий... in graalvm_ru
Единственное место где по настоящему выигрывает C# - гораздо более дешёвый переход от управляемого кода с нативному и обратно.
источник

ВВ

Виктор Вербицкий... in graalvm_ru
Но это преимущество уже ненадолго 😂
источник

A

Alex in graalvm_ru
ну что-то довезли в вашем новом ryujit
но вообще сейчас идёт активное заимствования друг у друга

.net активней динамические правила и профили пилит
jvm активней пилит кодоген для aot компиляции (graal native, в дотнете ngen уже давно)
источник

A

Alex in graalvm_ru
это не попытка доказать что кто-то лучше кто-то хуже
у всех есть плюсы и минусы
источник

ВВ

Виктор Вербицкий... in graalvm_ru
Именно. Просто это надо понимать, чтобы меньше удивляться перформансным эффектам при сравнении
источник

E

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

E

EgorBo in graalvm_ru
жалко нет на godbolt'e
источник

E

EgorBo in graalvm_ru
(в моем конкретном случае не важно наличие профиля)
источник

A

Alex in graalvm_ru
godbolt для jvm 😄

я бы посмотрел
так как выводы сильно разные в зависимости от данных несколько раз видел
источник

E

EgorBo in graalvm_ru
Alex
godbolt для jvm 😄

я бы посмотрел
так как выводы сильно разные в зависимости от данных несколько раз видел
ну хотя бы для мелких локальных моментов)
источник

E

EgorBo in graalvm_ru
у меня просто реально подозрение что грааль в моем случае сделал то, что даже ллвм не решается делать: https://godbolt.org/z/KKcs6z
источник

A

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

E

EgorBo in graalvm_ru
Alex
делать из даблов инты точно никто не будет
ни одна оптимизация на это не решится
я согласен, поэтому "graal is sus" :D
источник