Microsoft.Net Core 2.0 будет оптимизировать код для Windows и Linux
В следующей версии программной платформы Microsoft.Net,.Net Core 2.0, механизм профильной оптимизации кода (profile-guided optimization, PGO) будет реализован в варианте для 64-разрядных дистрибутивов Linux.
Технология PGO позволяет ускорить выполнение за счет двухэтапной процедуры оптимизации, в рамках которой сначала происходит запуск программы и сбор информации о характеристиках выполнения, а потом соответствующая коррекция различных параметров и повторная сборка с новыми настройками. Изначально PGO появилась в.Net Framework, а впоследствии была реализована в.Net Core 1.1 для Windows x64.
В Microsoft отмечают, что из-за фрагментации экосистемы Linux, в частности, из-за различий в инструментальных цепочках компиляции, поставляемых с различными дистрибутивами, реализовать PGO для ОС с открытым кодом было непросто. В корпорации преодолели сложности, создав универсальный вариант.Net для Linux, встраиваемый в установщики различных дистрибутивов.
Сейчас.Net Core 2.0 находится на стадии ознакомительной версии. Технология PGO применяется для элементов среды выполнения и в период JIT-компиляции, и пользователям.Net Core не нужно принимать специальные меры, чтобы задействовать оптимизатор, - он используется автоматически.