Size: a a a

Compiler Development

2020 June 10

МБ

Михаил Бахтерев... in Compiler Development
E G
JVMCI?
🤷‍♂
источник

EG

E G in Compiler Development
источник

AD

Artyom Drozdov in Compiler Development
или вот: https://openjdk.java.net/projects/metropolis/ - чтобы fork and play было, ну в теории
источник

AT

Alexander Tchitchigi... in Compiler Development
Михаил Бахтерев
Ну... Можно ли в JVM легко встроиться в процесс генерации кода? Я имею в виду не открытость исходнико. Вон GCC открыт, а толку?
Этот конкретный пример не кажется сильно полезным хоть сколько-нибудь широкой общественности, ибо специализация на уровне генерации кода требует очень специфических и глубоких знаний. По сравнению с настройкой параметров GC, например. Кроме того, в LLVM можно встроиться -- и что?
источник

AD

Artyom Drozdov in Compiler Development
Alexander Tchitchigin
Этот конкретный пример не кажется сильно полезным хоть сколько-нибудь широкой общественности, ибо специализация на уровне генерации кода требует очень специфических и глубоких знаний. По сравнению с настройкой параметров GC, например. Кроме того, в LLVM можно встроиться -- и что?
не всегда, иногда относительно несложные хаки дают в конкретных нагрузках высокие приросты, так например Алибаба на коленке пропатчила jvm под корутинки
источник

AT

Alexander Tchitchigi... in Compiler Development
Artyom Drozdov
не всегда, иногда относительно несложные хаки дают в конкретных нагрузках высокие приросты, так например Алибаба на коленке пропатчила jvm под корутинки
Это уже не про кодогенерацию. 😊
источник

MM

Mikhail Maltsev in Compiler Development
Михаил Бахтерев
Ну... Можно ли в JVM легко встроиться в процесс генерации кода? Я имею в виду не открытость исходнико. Вон GCC открыт, а толку?
Что значит "а толку"? В кодогенерацию GCC вполне даже встраиваются: https://grsecurity.net/featureset/gcc_plugins
источник

МБ

Михаил Бахтерев... in Compiler Development
Так это специальный механизм плагинов. Они же не в исходники лезут. Собственно, такой механизм я и имел в виду
источник

AD

Artyom Drozdov in Compiler Development
Михаил Бахтерев
Так это специальный механизм плагинов. Они же не в исходники лезут. Собственно, такой механизм я и имел в виду
такой механизм есть, JVMCI, как уже выше написали
источник

МБ

Михаил Бахтерев... in Compiler Development
Artyom Drozdov
такой механизм есть, JVMCI, как уже выше написали
Ну и прекрасно! Надо поизучать. Спасибо за keyword
источник

PS

Peter Sovietov in Compiler Development
Как это мы так быстро перешли от дельной мысли по поводу "оптимизировать ВМ под свой конкретный production workload" к спорному выводу, что нужны VM с плагинами? :)
источник

PS

Peter Sovietov in Compiler Development
Это в конце 90-х на плагинах делали все, что угодно. А сейчас у нас мода изменилась. Машинное обучение используйте!
источник

AT

Alexander Tchitchigi... in Compiler Development
Peter Sovietov
Это в конце 90-х на плагинах делали все, что угодно. А сейчас у нас мода изменилась. Машинное обучение используйте!
Но его тоже нужно оптимизировать! 😱
источник

PS

Peter Sovietov in Compiler Development
Alexander Tchitchigin
Но его тоже нужно оптимизировать! 😱
Для конкретной предметной области можно же отдельно обучить систему. А если нужна универсальность, то существующие VM с JIT для этого уже и так спроектированы :)
источник

AT

Alexander Tchitchigi... in Compiler Development
Peter Sovietov
Для конкретной предметной области можно же отдельно обучить систему. А если нужна универсальность, то существующие VM с JIT для этого уже и так спроектированы :)
Нужно сначала архитектуру ML-системы оптимизировать под эту предметную область. AutoML же не со скуки придумали. 😊
источник

PS

Peter Sovietov in Compiler Development
Alexander Tchitchigin
Нужно сначала архитектуру ML-системы оптимизировать под эту предметную область. AutoML же не со скуки придумали. 😊
А как насчет — использовать старый-добрый OpenTuner? Ну, для начала, хотя бы :)
источник

МБ

Михаил Бахтерев... in Compiler Development
Peter Sovietov
Как это мы так быстро перешли от дельной мысли по поводу "оптимизировать ВМ под свой конкретный production workload" к спорному выводу, что нужны VM с плагинами? :)
Ну. Плагины - как вариант. Вероятно, не единственный. Что ещё может быть?
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
Ну. Плагины - как вариант. Вероятно, не единственный. Что ещё может быть?
Ну, давайте начнем с рассмотрения самого простого, что уже давным-давно используется в VM на практике. Суперинструкции.
источник

МБ

Михаил Бахтерев... in Compiler Development
Peter Sovietov
Ну, давайте начнем с рассмотрения самого простого, что уже давным-давно используется в VM на практике. Суперинструкции.
Мой воспалённый разум рисует какую-то картинку в виде операционной семантики и богатой библиотеки для работы с ней.
источник

EG

E G in Compiler Development
Михаил Бахтерев
Мой воспалённый разум рисует какую-то картинку в виде операционной семантики и богатой библиотеки для работы с ней.
Но зачем?
источник