Одним из новых улучшений производительности для .NET 4.5 является внедрение "MultiCode JIT".
Подробнее см. здесь.
Я пробовал это, но, похоже, это не влияет на мое приложение.
Причина, по которой меня интересует, заключается в том, что мое приложение (IronScheme) занимает много времени для запуска, если не NGEN'd, что подразумевает, что при запуске задействовано значительное количество JIT'ng. (1,4 сек против 0,1 с при NGEN'd).
Я выполнил инструкции по включению этого, и я вижу, что создается "маленький" (4-12 КБ). Но при последующем запуске он, похоже, абсолютно не влияет на улучшение времени запуска. Это еще 1,4 секунды.
Кто-нибудь действительно видел (или делал) эту работу на практике?
Кроме того, существуют ли какие-либо ограничения на то, какой код будет "отслеживаться"? Например: контексты загрузки сборок, переходные сборки и т.д. Я спрашиваю об этом, поскольку созданный файл никогда не растет, но я на самом деле генерирую достаточное количество кода (в переходной сборке).
Одна ошибка, с которой я столкнулся, заключалась в том, что SetProfileRoot
, похоже, не понимает a/как разделитель путей, обязательно используйте \.