How RyuJIT compiles a function / Как RyuJIT компилирует код

17 октября, 16:45

Key ideas

JIT in CLR has long been a black box due to the closed nature of its code and little information available about its inner workings. After the introduction of .NET Core it has become an open book so everyone can get a shot at improving it or adding new optimizations. In the presentation Egor will share the fundamental principles of his work with different functions as examples. He will tell how you can go ears deep into hardcore, taking you down the road of execution from C# code to machine code.


Тезисы

JIT в CLR долгое время оставался чёрным ящиком из-за закрытости кода и небольшого количества информации о его внутреннем устройстве. С приходом .NET Core он стал открытой книгой и каждый может попробовать свои силы в улучшении или добавлении новых оптимизаций в него. В этом докладе Егор расскажет о принципах его работы на примерах разных функций и расскажет, как можно попробовать приобщиться и «засунуть» свои руки в самые недра хардкора. Рассмотрит полный путь выполнения — от C# кода до машинного кода.

Презентация (на Я.Диске)

 

Доступ к записям выступлений DotFest платный.

 

Купить доступ 5 900 ₽

 

Или залогиньтесь, если уже куплено.

Microsoft

Егор Богатов

Egor is a developer at Microsoft working on .NET 5, Mono Runtime, mobile platforms, LLVM-backend and contributing to CoreCLR RyuJIT. He enjoys playing with compilers and micro-optimizations


Разработчик в компании Microsoft, работает над .NET 5, Mono Runtime, мобильными платформами, LLVM-бэкендом и контрибьютит в CoreCLR RyuJIT. Увлекается компиляторами и микрооптимизациями.

Egor is a developer at Microsoft working on .NET 5, Mono Runtime, mobile platforms, LLVM-backend and contributing to CoreCLR RyuJIT. He enjoys playing with compilers and micro-optimizations


Разработчик в компании Microsoft, работает над .NET 5, Mono Runtime, мобильными платформами, LLVM-бэкендом и контрибьютит в CoreCLR RyuJIT. Увлекается компиляторами и микрооптимизациями.

Другие спикеры: