Size: a a a

2019 September 21

B

Bogdan in .NET CIL Chat
Andrei Kurosh
А как работает AOT-компиляция в mono? Она, по идее, позволяет исполнять код на рантайме, где GC нативно отсутствует
AOT моно, ngen от майкрософт, в неткоре ьоже вроде есть для х86
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Bogdan
AOT моно, ngen от майкрософт, в неткоре ьоже вроде есть для х86
Ты вообще всё поперепутал.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Ну то есть смешал технологии несколько разных уровней.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Есть Mono-AOT — это штука, которая делает готовый исполняемый код.
источник

B

Bogdan in .NET CIL Chat
Ну в смысле что есть наработки под нейтив х86
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Есть NGen и CrossGen — они просто препарируют сборки перед выполнением.
источник

B

Bogdan in .NET CIL Chat
В разных местах
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
(ничо про x86 нету там, кроссген работает хорошо)
источник

B

Bogdan in .NET CIL Chat
Нген же нейтив код генерит, для сборок
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Разница в том, что после *Gen у тебя не всегда получается хороший исполняемый код. Например, инстансы генериков между сборками он не умеет инлайнить.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Т.е. результаты *Gen полагаются на JIT.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Результаты AOT — не полагаются.
источник

B

Bogdan in .NET CIL Chat
Т.е. jit после гена еще допиливает напильником?)
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Ну и есть ещё coreclr — весьма ущербная технология, на мой взгляд (потому что до сих пор не осиливает поддержать F# как следует). Это вроде что-то типа AOT от команды неткора.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Bogdan
Т.е. jit после гена еще допиливает напильником?)
JIT компилирует то, что не скомпилировал *Gen.
источник

B

Bogdan in .NET CIL Chat
Помню статейку веселую, как благодаря нгену обходили изоляцию апп доменов, так как щангененые длл шарят исполняемый код
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
У нас в райдере такая проблема недавно была — джит на старте приложения съедает секунду на компиляцию одного конкретного метода. А у нас NGen!
источник

н

невидимка in .NET CIL Chat
Dr. Friedrich von Never
Ну и есть ещё coreclr — весьма ущербная технология, на мой взгляд (потому что до сих пор не осиливает поддержать F# как следует). Это вроде что-то типа AOT от команды неткора.
corert?
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Вроде как JIT должен вообще нулевое время потреблять.
источник

Dv

Dr. Friedrich von Never in .NET CIL Chat
Ой да
источник