Size: a a a

Compiler Development

2020 January 11

FO

FORTRAN ONE LOVE in Compiler Development
Михаил Бахтерев
У автора ATS2 есть статья о том, как они боролись за удаление проверок грариц в runtime. В принципе, ничего особенного: составляем всякие ограничения, решаем задачку дискретного линейного программирования. Там, где решилась - выкидываем проверки. Примерно так.
Да можно особо и не проверять в самом рантайме, а только в режиме дебага
источник

МБ

Михаил Бахтерев in Compiler Development
Ну... В любом случае так. Но там можно и без подсказок. Компилятор сам что-то разруливает, а где-то просит подкинуть дополнительных неравенств.

Кстати, Корпорация Добра, это к себе утащила: https://github.com/google/wuffs
источник

KR

K R in Compiler Development
Михаил Бахтерев
Ну... В любом случае так. Но там можно и без подсказок. Компилятор сам что-то разруливает, а где-то просит подкинуть дополнительных неравенств.

Кстати, Корпорация Добра, это к себе утащила: https://github.com/google/wuffs
Типичное описание алгоритма линейной алгебры - проходим по столбцам по верхнему треугольнику слева направо, делаем ..., записывая результат в предыдущий столбец.в
источник

KR

K R in Compiler Development
Понятно и очевидно без вылезаний за границы. И лишь перевод на С меняет дело.
источник

KR

K R in Compiler Development
То есть, может быть выбором соответствующих примитивов можно исправить ситуацию?
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
Ну... В любом случае так. Но там можно и без подсказок. Компилятор сам что-то разруливает, а где-то просит подкинуть дополнительных неравенств.

Кстати, Корпорация Добра, это к себе утащила: https://github.com/google/wuffs
это не корпорация утащила, а очередной опенсорс, который сотрудник был обязан отдать компании по условиям контракта
источник

МБ

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

МБ

Михаил Бахтерев in Compiler Development
K R
То есть, может быть выбором соответствующих примитивов можно исправить ситуацию?
APL?
источник

KR

K R in Compiler Development
Вот надо посмотреть
источник

YS

Yuriy Syrovetskiy in Compiler Development
Yuriy Syrovetskiy
это не корпорация утащила, а очередной опенсорс, который сотрудник был обязан отдать компании по условиям контракта
судя по тексту

This is not an official Google product, it is just code that happens to be owned by Google.
источник

FO

FORTRAN ONE LOVE in Compiler Development
K R
То есть, может быть выбором соответствующих примитивов можно исправить ситуацию?
Ну у нас часть матриц хранится в верхнетреугольном представлении, часть в полном :-)
источник
2020 January 12

C

Constantine in Compiler Development
Михаил Бахтерев
Ну... В любом случае так. Но там можно и без подсказок. Компилятор сам что-то разруливает, а где-то просит подкинуть дополнительных неравенств.

Кстати, Корпорация Добра, это к себе утащила: https://github.com/google/wuffs
интересно, спс за линк
источник

К

Константин in Compiler Development
Aleksey Shipilev
Ну камон, ироничность в том, что Углянский -- из Excelsior, и ему грустно от "в AOT Java компилируется весьма паршиво". Рефлексию можно и в AOT ;)
Пробовал я применять Excelsior JET для внутреннего проекта. Он, конечно, лучше нынешнего GraalVM, но JIT'у сливал в 2-а раза
источник

E

EgorBo in Compiler Development
Константин
Пробовал я применять Excelsior JET для внутреннего проекта. Он, конечно, лучше нынешнего GraalVM, но JIT'у сливал в 2-а раза
а потому что надо как у нас в дотнете — выбрасывать АОТ для горячих методов в процессе
источник

E

EgorBo in Compiler Development
тогда и сливать никому не будет и старт быстрый
источник

M

MaxGraey in Compiler Development
Константин
Пробовал я применять Excelsior JET для внутреннего проекта. Он, конечно, лучше нынешнего GraalVM, но JIT'у сливал в 2-а раза
Я кстати попросил Никиту Липского прислать хоть какой то бенчмарк именно производительности а не сравнения времени старта между Excelsior и HotSpot, но он так и не ответил. И да он прямо в своем докладе говорил, что Excelsior JET - это все же гибрид AOT + JIT =)
источник

E

EgorBo in Compiler Development
AOT и есть JIT. just in time ahead of execution :p
источник

К

Константин in Compiler Development
MaxGraey
Я кстати попросил Никиту Липского прислать хоть какой то бенчмарк именно производительности а не сравнения времени старта между Excelsior и HotSpot, но он так и не ответил. И да он прямо в своем докладе говорил, что Excelsior JET - это все же гибрид AOT + JIT =)
Речь, наверно, шла о применении JIT там, где AOT невозможен?
источник

M

MaxGraey in Compiler Development
Константин
Речь, наверно, шла о применении JIT там, где AOT невозможен?
Боюсь мы этого уже не узнаем, человек причастный к проекту больше сюда не заходит и даже в твиттере были прдложения меня забанить =)
источник

AK

Andrei Kurosh in Compiler Development
MaxGraey
Боюсь мы этого уже не узнаем, человек причастный к проекту больше сюда не заходит и даже в твиттере были прдложения меня забанить =)
Углянский жаловался на обилие людей в чате, поэтому Фридрих предложил просто кого-нибудь забанить, не конкретно вас )
источник