Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Utilizzare SPDConvert per preparare e gestire i dati del profilo campione per l'ottimizzazione guidata dal profilo campione (SPGO).
Questo strumento correla gli esempi hardware non elaborati nei file SPT rispetto alla struttura di codice nel spD. Questo passaggio esegue la correlazione dei campioni, lo smussamento del flusso e le decisioni su dimensioni/prestazioni, e produce un file SPD arricchito con conteggi di esecuzione annotati sul grafo di flusso.
È possibile combinare dati da più origini, ad esempio benchmark del lab, monitoraggio interno e dati di telemetria di produzione, in un'unica conversione. Per sottolineare l'importanza di uno scenario specifico, è possibile specificare più volte il relativo file SPT. Inserire tre volte un benchmark SPT critico ne triplica di fatto il peso.
Questo strumento funziona in tre modalità:
- Importare dati .SPT in un file .SPD per le build /SPGO
- estrarre un file .SPD incorporato da un file .PDB
- unire più file .SPD da diverse sessioni di profilazione
SPDConvert funziona con tre tipi di file:
- Eventi di prestazioni hardware non elaborati registrati da ETL (log di traccia eventi)
xperf -
SPT (traccia del profilo di esempio) Eventi di esempio inclusi nel pacchetto prodotti da
SPTAggregatea partire da file ETL -
SPD (Sample Profile Database) Elabora i dati del profilo usati dal compilatore durante una compilazione ottimizzata. È anche possibile incorporare file SPD nei file di simboli PDB durante una
/spdembedcompilazione
Sintassi
Importare i dati SPT in un file SPD esistente:
SPDConvert[opzioni] spdfilesptfile(s)
Estrarre un file SPD incorporato da un PDB:
SPDConvert/extractpdbfilespdfile
Unire più file SPD in uno:
SPDConvert/mergeoutputspdfilespdfile(s)
Parametri
MODALITÀ IMPORTAZIONE
Opzioni
Specificare le opzioni seguenti in modalità di importazione:
- /Modalità:<IP|LBR> Selezionare la modalità profilo. Usare IP per i dati di profilazione del puntatore di istruzione (impostazione predefinita) o LBR per i dati di profilazione del registro dell'ultimo ramo.
- /Reimpostare: Reimpostare il conteggio su 0. Questa azione ignora gli SPT. Usare questa opzione per reimpostare un file SPD prima di importare nuovi dati o per creare un file SPD vuoto se il file specificato non esiste.
- /sptlist:<File> Specificare i nomi di file SPT in un file di testo, con un nome di file per riga.
- /Riepilogo Stampare un riepilogo del file SPD.
- /Guida Visualizzare le informazioni della Guida.
spdfile
File SPD in cui importare i dati di esempio.
sptfiles
Uno o più file SPT da importare. I file SPT vengono prodotti da SPTAggregate.
MODALITÀ ESTRAZIONE (/extract)
pdbfile
File PDB che contiene un SPD incorporato.
spdfile
File SPD di uscita da creare.
MODALITÀ MERGE (/merge)
outputspdfile
Il file SPD di output da creare.
/Ritirarsi:<N> Impostare la frequenza di ritiro dei dati del profilo su N/16, dove 0 ≤ N ≤ 16. Il valore predefinito è 8. Questo valore controlla la quantità di dati esistenti in un SPD da eliminare quando si aggiungono nuovi dati SPT. Ad esempio, /retire:8 elimina 8/16 (metà) dei dati esistenti prima di aggiungere nuovi dati SPT. Questa impostazione pesa maggiormente i dati del profilo più recenti perché elimina metà dei dati meno recenti. I due utilizzi più comuni sono /retire:0 che danno uguale peso a tutte le esecuzioni del profilo o /retire:16 per fare solo il conteggio dei dati più recenti perché elimina tutti i dati precedenti. Usa /retire:N per controllare quanto aggressivamente SPDConvert attribuisce meno importanza ai dati del profilo meno recenti. Questo concetto di "portare avanti" consente di aggiornare un profilo usando i dati SPD esistenti senza iniziare con nuovi dati di profilatura, che richiedono molto tempo. Questo concetto è illustrato più in dettaglio nell'esercitazione su SPGO: riutilizzo delle informazioni SPD tra le compilazioni.
spdfiles
Uno o più file SPD da unire.
Osservazioni:
Note
Esegui questo strumento da un prompt dei comandi per gli sviluppatori di Visual Studio.
SPDConvert è lo strumento di conversione principale nel flusso di lavoro SPGO. Dopo aver raccolto una traccia usando xperf e convertirla in un file SPT usando SPTAggregate, usare SPDConvert per importare i dati di esempio in un file SPD. Passare il file SPD risultante al compilatore usando il /SPGO flag per compilare un file binario ottimizzato.
Usare /extract per ripristinare un file SPD incorporato in un PDB durante una /SPGO compilazione.
Usare /merge per combinare file SPD da più sessioni di profilatura prima della ricompilazione.
Il GUID e l'età di un file binario devono corrispondere tra i file SPT e SPD. Se non corrispondono, SPDConvert segnala un errore "Versione SPD non compatibile". Usare SPTDump /progid per controllare gli identificatori binari nel file SPT e SPDDump /header per controllare il file SPD.
Il GUID e l'età del file binario registrato nel file SPD devono corrispondere al file SPT. Per diagnosticare questo errore, usare SPTDump /progid per esaminare gli identificatori binari nel file SPT e SPDDump /header per esaminare il file SPD. Un file SPD valido viene usato per quanto possibile. Sono tollerati aggiornamenti secondari al codice che non modificano il flusso di controllo del programma. Le funzioni non modificate usano anche i dati per l'ottimizzazione. Se si specifica un SPD valido, ma altrimenti non correlato, il processo funziona, ma probabilmente non è possibile usare dati per l'ottimizzazione.
Example
Questo esempio importa i dati del profilo LBR da un file SPT in un file SPD:
SPDConvert /mode:LBR sample.spd sample.spt
Questo esempio importa i dati del profilo IP usando un elenco di file SPT:
SPDConvert /mode:IP /sptlist:mysptfiles.txt sample.spd
In questo esempio viene stampato un riepilogo dei dati del profilo in un file SPD:
SPDConvert /summary sample.spd
Questo esempio estrae lo SPD incorporato da un file PDB:
SPDConvert /extract sample.pdb sample_extracted.spd
Questo esempio unisce due file SPD da diverse esecuzioni di profilatura:
SPDConvert /merge combined.spd run1.spd run2.spd
Vedere anche
Tutorial: Usa l'ottimizzazione guidata dal profilo di esempio (SPGO) per migliorare le prestazioni
SPDDump
SPTAggregate
SPTDump