Size: a a a

2019 April 25

AW

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

A

Alex in graalvm_ru
единственный пока ворклоад где я вижу регулярно работающий jit это всякие big data проекты типа spark, flink и тд
они разбирают твой запрос, сгенерировали java программу, скомпилили в памяти, отправили байткод на выполнение
там уже jit его подхватывает и оптимизирует

если от пользователя регулярно разные запросы приходят, то и код постоянно разный

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

A

Alex in graalvm_ru
Alex White
Кодкеш есть, но он нерезиновый и постоянно вытесняется, тк житуется все
в java вроде вытеснения нету кода который не используется
источник

AW

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

A

Alex in graalvm_ru
тогда тут наверное у тебя из всех джавовых только graal рассматривать
у него через truffle более менее адекватно можно будет впихнуть свой код (даже llvm ir подымают в sulong)

сомневаюсь что сумеете впихнуть в стандартный c1/c2
источник

AW

Alex White in graalvm_ru
Alex
тогда тут наверное у тебя из всех джавовых только graal рассматривать
у него через truffle более менее адекватно можно будет впихнуть свой код (даже llvm ir подымают в sulong)

сомневаюсь что сумеете впихнуть в стандартный c1/c2
Мы в процессоре вообще сидим
источник

AD

Alex D in graalvm_ru
Alex
единственный пока ворклоад где я вижу регулярно работающий jit это всякие big data проекты типа spark, flink и тд
они разбирают твой запрос, сгенерировали java программу, скомпилили в памяти, отправили байткод на выполнение
там уже jit его подхватывает и оптимизирует

если от пользователя регулярно разные запросы приходят, то и код постоянно разный

в остальных приложениях чтобы активно использовалась кодегенерация, а значит нужен был перманентно работающий jit я не сталкивался
а есть ли сейчас проекты (попытки) втащить Graal например в Spark?
Например, для бесшовной итеграции кода на Scala/Python/R.
Или попыток реализовать Spark SQL как еще один язык на Graal, чтоб уйти от кодогенерации?
источник

A

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

они пошли проще, генерят java сорцы как строки и кормят janino
источник

A

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

ВВ

Виктор Вербицкий in graalvm_ru
Alex
в java вроде вытеснения нету кода который не используется
Вообще можно попробовать поставить кеш поменьше и взвести опции сброса кеша при перееолнении. Тогда на любом воклоаде можно бесконечно работающий джит получить ;-)
источник

A

Alex in graalvm_ru
источник

A

Alex in graalvm_ru
Виктор Вербицкий
Вообще можно попробовать поставить кеш поменьше и взвести опции сброса кеша при перееолнении. Тогда на любом воклоаде можно бесконечно работающий джит получить ;-)
хм, а можно параметры? а то я таких в java как-то не замечал, интересно будет потыкать
источник

ВВ

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

A

Alex in graalvm_ru
👌 спасибо
источник

OS

Oleg Shelajev in graalvm_ru
Можно просто написать приложение которое будет давать граалю байт-код и смотреть как долго он его компилирует
источник

A

Alex in graalvm_ru
а количество оптимизаций?
то есть в лоб как делает native image
а можно еще профиль подсовывать и уже другие числа будут
источник

A

Alex in graalvm_ru
сложность самого кода в байткоде, loop unrolling, escape analysis
как-то тоже задумывался над тем сколько jit есть

в итоге прикинул что слишком много переменных в реальной жизни =(
источник

OS

Oleg Shelajev in graalvm_ru
Ну померять так и сяк
источник

OS

Oleg Shelajev in graalvm_ru
Я в основном про то что нужно самому ручками мерять
источник

OS

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