Евгений Пешков — .NET: AOT в 2022
— JIT-компиляция в .NET позволяет создавать кроссплатформенные приложения и решает проблемы взаимодействия сборок в рантайме, но может негативно сказаться на производительности приложения, особенно на этапе старта, когда необходимо загрузить и скомпилировать множество методов сразу. .NET на протяжении всей своей истории имел средства для решения этой проблемы, позволяющие предкомпилировать весь или часть кода заранее. Например, Ngen в .NET Framework или CoreRT как самостоятельная платформа. В современном .NET основное средство для Ahead-of-Time compilation — это Crossgen2. К сожалению, Ahead-of-Time компиляция — далеко не серебряная пуля, а технология, несущая свои tradeoffs и не гарантирующая прирост производительности. Скачать презентацию: https://squidex.jugru.team/api/assets/srm/3e393d40-5175-47e7-9d85-2607014cc195/evgeny-peshkov-aot-next-2.pdf
— JIT-компиляция в .NET позволяет создавать кроссплатформенные приложения и решает проблемы взаимодействия сборок в рантайме, но может негативно сказаться на производительности приложения, особенно на этапе старта, когда необходимо загрузить и скомпилировать множество методов сразу. .NET на протяжении всей своей истории имел средства для решения этой проблемы, позволяющие предкомпилировать весь или часть кода заранее. Например, Ngen в .NET Framework или CoreRT как самостоятельная платформа. В современном .NET основное средство для Ahead-of-Time compilation — это Crossgen2. К сожалению, Ahead-of-Time компиляция — далеко не серебряная пуля, а технология, несущая свои tradeoffs и не гарантирующая прирост производительности. Скачать презентацию: https://squidex.jugru.team/api/assets/srm/3e393d40-5175-47e7-9d85-2607014cc195/evgeny-peshkov-aot-next-2.pdf