.NET: AOT in 2022
Backend



Тезисы

JIT-компиляция в .NET позволяет создавать кроссплатформенные приложения и решает проблемы взаимодействия сборок в рантайме, но может негативно сказаться на производительности приложения, особенно на этапе старта, когда необходимо загрузить и скомпилировать множество методов сразу. .NET на протяжении всей своей истории имел средства для решения этой проблемы, позволяющие предкомпилировать весь или часть кода заранее. Например, Ngen в .NET Framework или CoreRT как самостоятельная платформа.

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

В докладе я расскажу:

  • какие проблемы можно попробовать решить с помощью AOT;
  • какие средства для нативной компиляции .NET сейчас актуальны и какие ограничения они накладывают;
  • об особенностях работы с crossgen2 — о проблемах, с которыми пришлось столкнуться;
  • как измерить выигрыш в производительности от внедрения AOT — почему с AOT вам стоит немного подождать (.NET 7).

Аудитория

Backend-developer.

Уровень сложности

Advanced.

Тинькофф

Евгений Пешков

.NET разработчик. Занимался инфраструктурой клиент-серверных приложений, миграцией больших проектов с .NET Framework на Core, системами мониторинга серверов. Интересуюсь внутренним устройством .NET и Windows, использую их особенности в продакшене.

.NET разработчик. Занимался инфраструктурой клиент-серверных приложений, миграцией больших проектов с .NET Framework на Core, системами мониторинга серверов. Интересуюсь внутренним устройством .NET и Windows, использую их особенности в продакшене.

Другие спикеры секции Backend

Еще на тему Backend