ProfileOptimization Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Улучшает производительность при запуске доменов приложения в приложениях, требующих JIT-компилятора путем фоновой компиляции методов, выполнение которых ожидается, на основе профилей, созданных во время предыдущих компиляций.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Наследование
-
ProfileOptimization
Комментарии
Важно!
Для оптимизации профиля требуется многоядерный компьютер. Методы игнорируются на других компьютерах.
Каждый раз, когда вы инициируете оптимизацию профиля в домене приложения, считывается профиль, созданный во время предыдущего использования. Сведения в профиле используются для фоновой компиляции, определяя методы, которые с наибольшей вероятностью будут выполняться во время запуска. На многоядерных компьютерах это повышает вероятность того, что метод уже компилируется к тому времени, когда это необходимо, чтобы потоку приложения main не приходилось вызывать JIT-компилятор.
Файл профиля перезаписывается при каждом использовании, поэтому он всегда содержит самые последние сведения о том, какие методы используются во время запуска.
Профили оптимизации не ограничиваются запуском домена приложения. Их можно использовать для любых действий, для которых потребуется интенсивное использование JIT-компилятора. Вы можете поддерживать несколько профилей для домена приложения, чтобы каждое такое действие было собственным профилем.
Чтобы использовать профили оптимизации в домене приложения, необходимо вызвать SetProfileRoot метод и указать папку, в которой хранятся профили. Папка должна уже существовать. Чтобы начать использовать профиль, вызовите StartProfile метод и укажите имя файла профиля. Если файл не был записан ранее, он создается при первом использовании. При первом создании профиля преимущество производительности отсутствует.
Оптимизация профиля не изменяет порядок выполнения методов. Методы не выполняются в фоновом потоке; Если метод компилируется, но никогда не вызывается, он просто не используется. Если файл профиля поврежден или не может быть записан в указанную папку (например, потому, что папка не существует), выполнение программы продолжается без профилирования оптимизации.
Методы
SetProfileRoot(String) |
Включает профилирование оптимизации для текущего домена приложения и задает каталог, в котором хранятся файлы профиля оптимизации. На одноядерном компьютере этот метод игнорируется. |
StartProfile(String) |
Запускает JIT-компиляцию методов, которые ранее были записаны в указанном файле профиля, в фоновом потоке. Запускает процесс записи текущего использования методов, который позже перезаписывает указанный файл профиля. |