Size: a a a

2019 April 25

OS

Oleg Shelajev in graalvm_ru
Считайте что 2 треда оверхед
источник

A

Alex in graalvm_ru
почему 2? можно на jit и один выделить
источник

OS

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

AW

Alex White in graalvm_ru
Oleg Shelajev
Считайте что 2 треда оверхед
в инструкциях
источник

A

Alex in graalvm_ru
0
источник

AW

Alex White in graalvm_ru
._.
источник

A

Alex in graalvm_ru
это как спрашивать сколько оверхеда компилятора в скомпилированной c++ программе
источник

AW

Alex White in graalvm_ru
про трансмету слышал?
источник

AW

Alex White in graalvm_ru
Вот мы живем в такой же реальности
источник

A

Alex in graalvm_ru
эм, у них же своя архитектура
источник

AW

Alex White in graalvm_ru
Alex
эм, у них же своя архитектура
А еще у них свой джит
источник

OS

Oleg Shelajev in graalvm_ru
Я не слышал, к сожалению не могу ответить ничего вменяемого про оверхед в инструкциях
источник

OS

Oleg Shelajev in graalvm_ru
Но это мне кажется очень специфический вопрос
источник

AW

Alex White in graalvm_ru
У которого есть такая метрика, как оверхед трансляции(оптимизации) на 1 гос евую инструкцию
источник

A

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

AW

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

AW

Alex White in graalvm_ru
А потом сделать оценки
источник

A

Alex in graalvm_ru
это даже в qemu в его старую бытность было 2 варианта работы: интерпретация и jit с кешем, второй конечно быстрее но и памяти на собранный код жрал
источник

A

Alex in graalvm_ru
"где ты постоянно сидишь в транслированном коде"
берешь кодогенератор
берешь janino (https://janino-compiler.github.io/janino/ )
генерируешь, компилишь и каждые 5 секунд подкладываешь новый код на выполнение чтобы срабатывал jit

но где в реальности такой ворклоад взять я даже и не знаю
источник

A

Alex in graalvm_ru
статистика по jit выплевывается в виде xml
можно подцепиться
https://github.com/AdoptOpenJDK/jitwatch

там и сколько времени потрачено и выплюнутый код
источник