Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте SPDConvert для подготовки данных профиля образца и управления ими для оптимизации на основе профиля образца (SPGO).
Это средство сопоставляет необработанные образцы оборудования в файлах SPT с структурой кода в SPD. На этом шаге выполняются корреляция выборок, сглаживание потока и выбор параметров размера и скорости, а также создаётся обогащённый SPD-файл со счётчиками выполнения, нанесёнными на граф потока.
Вы можете объединить данные из нескольких источников, таких как тесты лаборатории, внутренний мониторинг и телеметрия рабочей среды в одном преобразовании. Чтобы подчеркнуть важность конкретного сценария, можно указать его SPT-файл несколько раз. Перечисление критического теста SPT три раза эффективно троит его вес.
Это средство работает в трех режимах:
- импортировать данные .SPT в файл .SPD для сборок /SPGO
- извлечь встроенный файл .SPD из файла .PDB
- объединить несколько файлов .SPD из отдельных сеансов профилирования
SPDConvert работает с тремя типами файлов:
-
ETL (журнал трассировки событий) Необработанные события производительности оборудования, записанные
xperf -
SPT (пример трассировки профиля) Упакованные примеры событий, созданные
SPTAggregateиз файлов ETL -
SPD (база данных выборочных профилей) Обработанные данные профиля, используемые компилятором при оптимизированной сборке. Вы также можете внедрить файлы SPD в файлы символов PDB во время сборки
/spdembed
Syntax
Импортируйте данные SPT в существующий SPD-файл:
SPDConvert[параметры] spdfilesptfile(s)
Извлеките внедренный SPD-файл из PDB:
SPDConvert/extractpdbfilespdfile
Слияние нескольких SPD-файлов в один:
SPDConvert/mergeoutputspdfilespdfile(s)
Параметры
РЕЖИМ ИМПОРТА
параметры
Укажите следующие параметры в режиме импорта:
- /Режим:<IP|LBR> Выберите режим профиля. Используйте IP-адрес для данных профиля указателя инструкций (по умолчанию) или LBR для данных профиля записи последней ветви.
- /reset: Сбросьте счётчик до 0. Это действие не учитывает SPT. Используйте этот параметр, чтобы сбросить файл SPD перед импортом новых данных или создать пустой файл SPD, если указанный файл не существует.
- /sptlist:<Файл> Укажите имена файлов SPT в текстовом файле с одним именем файла на строку.
- /Сводка Печать сводки файла SPD.
- /help Отображает справочную информацию.
spdfile
Файл SPD, в который импортируются образцы данных.
sptfiles
Один или несколько файлов SPT для импорта. Файлы SPT создаются SPTAggregate.
РЕЖИМ ИЗВЛЕЧЕНИЯ (/извлечение)
pdbfile
PDB-файл, содержащий встроенный SPD.
spdfile
Выходной SPD-файл, который будет создан.
РЕЖИМ СЛИЯНИЯ (/слияние)
outputspdfile
Выходной SPD-файл, который необходимо создать.
/retire:<N> Установите коэффициент выбытия данных профиля равным N/16, где 0 ≤ N ≤ 16. Значение по умолчанию — 8. Это значение определяет, сколько существующих данных в SPD необходимо удалить при добавлении новых данных SPT. Например, /retire:8 удаляет 8/16 (половина) существующих данных перед добавлением новых данных SPT. Этот параметр взвешивает более новые данные профиля, так как он удаляет половину старых данных. Два наиболее распространенных варианта использования — /retire:0, при котором всем запускам профиля присваивается одинаковый вес, или /retire:16, чтобы учитывались только самые новые данные, поскольку при этом все старые данные удаляются. Используйте /retire:N, чтобы управлять тем, насколько активно SPDConvert снижает значимость старых данных профиля. Эта концепция «carry forward» позволяет обновить профиль на основе существующих данных SPD без необходимости начинать заново с новыми данными профилирования, что требует значительных затрат времени. Эта концепция более подробно рассматривается в руководстве по SPGO — повторное использование сведений SPD в разных сборках.
spdfiles
Один или несколько spD-файлов для слияния.
Замечания
Note
Запустите это средство из командной строки разработчика Visual Studio.
SPDConvert — это основной инструмент преобразования в рабочем процессе SPGO. После сбора трассировки с помощью xperf и преобразования её в файл SPT с помощью SPTAggregate используйте SPDConvert для импорта выборочных данных в файл SPD. Передайте полученный файл SPD компилятору с помощью флага /SPGO для создания оптимизированного двоичного файла.
Используйте /extract, чтобы восстановить SPD-файл, встроенный в PDB во время сборки /SPGO.
Используйте /merge для объединения файлов SPD из нескольких сеансов профилирования перед повторной сборкой.
GUID и возраст двоичного файла должны совпадать между SPT и SPD-файлами. Если они не совпадают, SPDConvert сообщает об ошибке "Несовместимая версия SPD". Используйте SPTDump /progid для проверки двоичных идентификаторов в файле SPT и SPDDump /header для проверки файла SPD.
GUID и возраст двоичного файла, записанного в SPD-файле, должны соответствовать SPT-файлу. Чтобы диагностировать эту ошибку, используйте SPTDump /progid для проверки двоичных идентификаторов в SPT-файле, а SPDDump /header — для проверки SPD-файла. По возможности используется действительный файл SPD. Незначительные обновления кода, которые не изменяют поток управления программой, допускаются. Без изменений функции также используют данные для оптимизации. Если вы предоставите допустимый, но в остальном не связанный с задачей SPD, процесс выполнится, но, скорее всего, никакие данные нельзя будет использовать для оптимизации.
Example
В этом примере импортируются данные профиля LBR из SPT-файла в файл SPD:
SPDConvert /mode:LBR sample.spd sample.spt
В этом примере импортируются данные профиля IP с помощью списка файлов SPT:
SPDConvert /mode:IP /sptlist:mysptfiles.txt sample.spd
В этом примере выводится сводка данных профиля в файле SPD:
SPDConvert /summary sample.spd
В этом примере извлекается встроенный SPD из PDB-файла:
SPDConvert /extract sample.pdb sample_extracted.spd
В этом примере выполняется слияние двух файлов SPD из разных запусков профилирования:
SPDConvert /merge combined.spd run1.spd run2.spd
См. также
Учебник: использование примера оптимизации, управляемой профилем (SPGO), для повышения производительности
SPDDump
SPTAggregate
SPTDump