Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use SPDConvert para preparar y gestionar datos de perfiles de muestra para la optimización guiada por perfiles de muestra (SPGO).
Esta herramienta correlaciona los ejemplos de hardware sin procesar en archivos SPT con la estructura de código del SPD. Este paso realiza la correlación de muestras, el suavizado de flujo y las decisiones sobre tamaño y velocidad, y genera un archivo SPD enriquecido con los recuentos de ejecución anotados en el grafo de flujo.
Puede combinar datos de varios orígenes, como pruebas comparativas de laboratorio, supervisión interna y telemetría de producción, en una sola conversión. Para resaltar la importancia de un escenario determinado, puede especificar su archivo SPT varias veces. Incluir tres veces un benchmark crítico de SPT triplica efectivamente su peso.
Esta herramienta funciona en tres modos:
- Importar datos .SPT en un archivo .SPD para compilaciones de /SPGO
- extraer un archivo .SPD incrustado de un .PDB
- combinar varios archivos .SPD de ejecuciones de perfilado independientes
SPDConvert funciona con tres tipos de archivo:
-
ETL (registro de seguimiento de eventos) Eventos sin procesar de rendimiento de hardware registrados por
xperf -
SPT (traza de perfil de muestra): eventos de ejemplo empaquetados producidos por
SPTAggregatea partir de archivos ETL -
SPD (base de datos de perfil de ejemplo) Datos de perfil procesados usados por el compilador durante una compilación optimizada. También puede insertar archivos SPD en archivos de símbolos PDB durante una
/spdembedcompilación.
Syntax
Importe datos SPT en un archivo SPD existente:
SPDConvert[opciones] spdfilesptfile(s)
Extraiga un archivo SPD incrustado de una PDB:
SPDConvert/extractpdbfilespdfile
Combine varios archivos SPD en uno:
SPDConvert/mergeoutputspdfilespdfile(s)
Parámetros
MODO DE IMPORTACIÓN
Opciones
Especifique las siguientes opciones en modo de importación:
- /mode:<IP|LBR> Seleccione el modo de perfil. Use IP para los datos de perfil de puntero de instrucción (valor predeterminado) o LBR para los datos del perfil del último registro de rama.
- /reset: Restablezca el recuento en 0. Esta acción ignora los SPT. Use esta opción para restablecer un archivo SPD antes de importar nuevos datos o para crear un archivo SPD vacío si el archivo especificado no existe.
- /sptlist:<archivo> Especifique los nombres de archivo SPT en un archivo de texto, con un nombre de archivo por línea.
- /summary Imprima un resumen del archivo SPD.
- /Ayuda Mostrar información de ayuda.
spdfile
Archivo SPD en el que se van a importar datos de ejemplo.
sptfiles
Uno o varios archivos SPT que se van a importar. Los archivos SPT los genera SPTAggregate.
MODO DE EXTRACCIÓN (/extract)
pdbfile
El archivo PDB que contiene un SPD incrustado.
spdfile
El archivo SPD de salida que se creará.
MERGE MODE (/merge)
outputspdfile
Archivo SPD de salida que se creará.
/retire:<N> Establezca la tasa de retirada de datos de perfil en N/16, donde 0 ≤ N ≤ 16. El valor predeterminado es 8. Este valor controla la cantidad de datos existentes en un SPD que se van a eliminar al agregar nuevos datos SPT. Por ejemplo, /retire:8 elimina 8/16 (la mitad) de los datos existentes antes de añadir nuevos datos de SPT. Esta configuración pondera los datos de perfil más recientes en mayor medida porque descarta la mitad de los datos más antiguos. Los dos usos más comunes son /retire:0 los que proporcionan un peso igual a todas las ejecuciones de perfiles, o /retire:16 para hacer solo el recuento de datos más reciente porque elimina todos los datos antiguos. Usa /retire:N para controlar cómo de agresivamente SPDConvert resta importancia a los datos de perfil más antiguos. Este concepto de "arrastre" permite actualizar un perfil utilizando datos SPD existentes sin tener que empezar de cero con nuevos datos de perfilado, una tarea que requiere mucho tiempo. Este concepto se describe más en el tutorial de SPGO: Reutilización de información de SPD en compilaciones.
spdfiles
Uno o varios archivos SPD que se van a combinar.
Observaciones
Note
Ejecute esta herramienta desde un símbolo del sistema para desarrolladores de Visual Studio.
SPDConvert es la herramienta de conversión principal del flujo de trabajo de SPGO. Después de recopilar una traza mediante xperf y convertirla en un archivo SPT mediante SPTAggregate, utilice SPDConvert para importar los datos de muestra a un archivo SPD. Pase el archivo SPD resultante al compilador mediante la /SPGO marca para compilar un binario optimizado.
Use /extract para recuperar un archivo SPD incrustado en una PDB durante una /SPGO compilación.
Use /merge para combinar archivos SPD de varias sesiones de generación de perfiles antes de recompilar.
El GUID y la antigüedad de un binario deben coincidir entre los archivos SPT y SPD. Si no coinciden, SPDConvert notifica un error de "versión de SPD incompatible". Use SPTDump /progid para comprobar los identificadores binarios en el archivo SPT y SPDDump /header para comprobar el archivo SPD.
El GUID y la antigüedad del archivo binario registrado en el archivo SPD deben coincidir con el archivo SPT. Para diagnosticar este error, use SPTDump /progid para inspeccionar los identificadores binarios en el archivo SPT y SPDDump /header para inspeccionar el archivo SPD. Se usa un archivo SPD válido en la medida de lo posible. Se toleran las actualizaciones secundarias del código que no modifican el flujo de control del programa. Las funciones sin cambios también usan los datos para la optimización. Si proporciona un SPD válido, pero no relacionado, el proceso funciona, pero es probable que no se pueda usar ningún dato para la optimización.
Example
En este ejemplo se importan los datos de perfil de LBR desde un archivo SPT en un archivo SPD:
SPDConvert /mode:LBR sample.spd sample.spt
En este ejemplo se importan los datos del perfil de IP mediante una lista de archivos SPT:
SPDConvert /mode:IP /sptlist:mysptfiles.txt sample.spd
En este ejemplo se imprime un resumen de los datos del perfil en un archivo SPD:
SPDConvert /summary sample.spd
En este ejemplo se extrae el SPD incrustado de un archivo PDB:
SPDConvert /extract sample.pdb sample_extracted.spd
En este ejemplo se combinan dos archivos SPD de diferentes ejecuciones de generación de perfiles:
SPDConvert /merge combined.spd run1.spd run2.spd
Consulte también
Tutorial: Usar la optimización guiada por perfiles de muestra (SPGO) para mejorar el rendimiento
SPDDump
SPTAggregate
SPTDump