Size: a a a

Compiler Development

2020 November 08

M

MaxGraey in Compiler Development
но его кажеться нужно вклюяать принудительно
источник

E

EgorBo in Compiler Development
хотя скорость компиляции "релиз" тоже имеет значение
источник

а

а это кто in Compiler Development
MaxGraey
но его кажеться нужно вклюяать принудительно
вроде пока что надо компилировать компилятор чтобы cranelift был)
источник

M

MaxGraey in Compiler Development
а это кто
вроде пока что надо компилировать компилятор чтобы cranelift был)
Я имел ввиду:

[rust]
codegen-backends = ["cranelift"]
источник

а

а это кто in Compiler Development
MaxGraey
Я имел ввиду:

[rust]
codegen-backends = ["cranelift"]
И это тоже
источник

PS

Pavel Samolysov in Compiler Development
А есть же пример наоборот, Azul Falcon, JIT на основе LLVM https://www.azul.com/products/zing/falcon-jit-compiler/
источник

E

EgorBo in Compiler Development
пример наоборот для чего?,
источник

PS

Pavel Samolysov in Compiler Development
EgorBo
пример наоборот для чего?,
Для вашего тезиса, что на rust переходить рано. Я так понял, вы имеете ввиду, что бэкенд там llvm, и он медленно компилирует. Здесь же наоборот, JIT написали на основе LLVM. В общем кто-то с llvm уходит, а кто-то наоборот на него идёт.
источник

E

EgorBo in Compiler Development
Pavel Samolysov
Для вашего тезиса, что на rust переходить рано. Я так понял, вы имеете ввиду, что бэкенд там llvm, и он медленно компилирует. Здесь же наоборот, JIT написали на основе LLVM. В общем кто-то с llvm уходит, а кто-то наоборот на него идёт.
так фалкон - это слой для слоенного компилятора, где юзеру уже отдан метод на выполнение и есть время фоном покомпилить через ллвм
источник

E

EgorBo in Compiler Development
у нас ребята когда-то давно еще до появление тиеред компиляции делали LLVM джит для дотнета (llilc) - так в конце концов забросили потому что даже без оптимизаций или с кастом пассмэнеджером это было просто неприлично неповоротливо
источник

А

Алексей in Compiler Development
MaxGraey
Сначала так думают разработчики компиляторов и получают C++, потом так думаю разработчики фреймворков и получаю boost, потом так думаю рядовые пользователи и… понимают что пора мигрировать на Go, Rust, Zig, Kotlin =)
Zig кому-то пригодился?
источник

M

MaxGraey in Compiler Development
Pavel Samolysov
Для вашего тезиса, что на rust переходить рано. Я так понял, вы имеете ввиду, что бэкенд там llvm, и он медленно компилирует. Здесь же наоборот, JIT написали на основе LLVM. В общем кто-то с llvm уходит, а кто-то наоборот на него идёт.
Вообще в FalconJIT LLVM используется вместо C2 (да я уже запомнил последний таер =)) с собственным переработанным пайплайном, и да сами разработчики компилятора признают что это стоило очень больших усилий. Так имхо это ровно ничего не значит
источник

PS

Pavel Samolysov in Compiler Development
EgorBo
так фалкон - это слой для слоенного компилятора, где юзеру уже отдан метод на выполнение и есть время фоном покомпилить через ллвм
Все равно же в jit чем быстрее скомпилируешь тем лучше, можно уменьшить пороги и компилировать больше методов. Т.е. я согласен, в aot вообще будешь ждать и ничего не будет работать пока не скомпилится, но в jit имхо скорость компиляции еще важнее.
источник

а

а это кто in Compiler Development
Pavel Samolysov
Все равно же в jit чем быстрее скомпилируешь тем лучше, можно уменьшить пороги и компилировать больше методов. Т.е. я согласен, в aot вообще будешь ждать и ничего не будет работать пока не скомпилится, но в jit имхо скорость компиляции еще важнее.
В серверных конфигурациях вм jit вполне может быть медленным, там времени на компиляцию полно
источник

а

а это кто in Compiler Development
Например Java для десктоп программ и для серверов по разному оптимизирует
источник

E

EgorBo in Compiler Development
а это кто
В серверных конфигурациях вм jit вполне может быть медленным, там времени на компиляцию полно
не в эпоху контейнеров и балланса нагрузки
источник

M

MaxGraey in Compiler Development
Алексей
Zig кому-то пригодился?
Ну, есть люди, которые на него перешли (в основном это чистые сишники). По крайней мере я еще не слышал, что бы кто то им остался недоволен. Другое дело, что пока он не слишком популярен. Но вообще обсуждение ЯП здесь считается оффтопом
источник

PS

Pavel Samolysov in Compiler Development
MaxGraey
Вообще в FalconJIT LLVM используется вместо C2 (да я уже запомнил последний таер =)) с собственным переработанным пайплайном, и да сами разработчики компилятора признают что это стоило очень больших усилий. Так имхо это ровно ничего не значит
Да, я знаю, что они там много переделывали, не уверен только залили ли в апстрим. Но раньше ллвм был сильно сфокуссирован на aot, JIT был больше игрушкой, но сейчас там orc активно пилят.
источник

KR

K R in Compiler Development
MaxGraey
Сначала так думают разработчики компиляторов и получают C++, потом так думаю разработчики фреймворков и получаю boost, потом так думаю рядовые пользователи и… понимают что пора мигрировать на Go, Rust, Zig, Kotlin =)
С Хаскеля на Клин.
источник

PS

Pavel Samolysov in Compiler Development
а это кто
В серверных конфигурациях вм jit вполне может быть медленным, там времени на компиляцию полно
Поэтому в Java 7 ещё ввели tiered compilation, а в 8 включили её по дефолту чтобы быстрее начать компилировать хотя бы клиентским компилятором и не интерпретировать байткод. У нас приложение 40 минут выходит на режим нагрузки из-за jit.
источник