.NET: AOT in 2022
Тезисы
JIT-компиляция в .NET позволяет создавать кроссплатформенные приложения и решает проблемы взаимодействия сборок в рантайме, но может негативно сказаться на производительности приложения, особенно на этапе старта, когда необходимо загрузить и скомпилировать множество методов сразу.

.NET на протяжении всей своей истории имел средства для решения этой проблемы, позволяющие предкомпилировать весь или часть кода заранее. Например, Ngen в .NET Framework или CoreRT как самостоятельная платформа. В современном .NET основное средство для Ahead-of-Time compilation — это Crossgen2.

К сожалению, Ahead-of-Time компиляция — далеко не серебряная пуля, а технология, несущая свои tradeoffs и не гарантирующая прирост производительности.

В докладе я расскажу:
  • какие проблемы можно попробовать решить с помощью AOT
  • какие средства для нативной компиляции .NET сейчас актуальны и какие ограничения они накладывают
  • об особенностях работы с crossgen2
  • о проблемах, с которыми пришлось столкнуться
  • как измерить выигрыш в производительности от внедрения AOT
  • почему с AOT вам стоит немного подождать (.NET 7)
Слушатели узнают fail story о планировании разработки и научатся предвидеть риски по поводу многообещающих технологий.
JIT-компиляция в .NET позволяет создавать кроссплатформенные приложения и решает проблемы взаимодействия сборок в рантайме, но может негативно сказаться на производительности приложения, особенно на этапе старта, когда необходимо загрузить и скомпилировать множество методов сразу.

.NET на протяжении всей своей истории имел средства для решения этой проблемы, позволяющие предкомпилировать весь или часть кода заранее. Например, Ngen в .NET Framework или CoreRT как самостоятельная платформа. В современном .NET основное средство для Ahead-of-Time compilation — это Crossgen2.

К сожалению, Ahead-of-Time компиляция — далеко не серебряная пуля, а технология, несущая свои tradeoffs и не гарантирующая прирост производительности.

В докладе я расскажу:
  • какие проблемы можно попробовать решить с помощью AOT
  • какие средства для нативной компиляции .NET сейчас актуальны и какие ограничения они накладывают
  • об особенностях работы с crossgen2
  • о проблемах, с которыми пришлось столкнуться
  • как измерить выигрыш в производительности от внедрения AOT
  • почему с AOT вам стоит немного подождать (.NET 7)
Слушатели узнают fail story о планировании разработки и научатся предвидеть риски по поводу многообещающих технологий.
Видеозапись доклада
Информация о спикере
Евгений Пешков
Тинькофф
  • Евгений Пешков
    Тинькофф
Все доклады секции