2009-12-21 15 views
7

Esaminando tutte le domande sugli strumenti di profilazione, sono stato sorpreso di scoprire VTune by Intel di cui non avevo mai sentito parlare prima. A $ 700, è ancora più costoso di AQTime.VTune vale la pena considerare per Delphi?

Ma prima che io prenda la decisione di mettere giù i soldi per AQTime, qualcuno ha usato VTune per Delphi, e se sì, pensi che abbia qualche vantaggio che potrebbe renderlo una scelta migliore di AQTime e the other profiling tools for Delphi that are out there?

+0

Si manipola molto un assemblatore SSE? –

+0

No, ma lo guardo e ho molta esperienza nell'ottimizzazione di basso livello. – lkessler

risposta

5

È possibile scaricare 30 giorni di prova vtune e provare da soli.

Ho usato AQTime e VTune.

VTune è buono se si desidera testare l'applicazione multithread: mi aiuta a trovare i blocchi nel gestore della memoria che rallentano la mia parte di applicazione multithread.

La differenza di sicurezza è che VTune è un profiler di esempio e AQTime è un profiler di strumenti. Entrambi hanno punti forti e deboli ma preferisco lo strumento uno. Con lo strumento profiler ottieni esattamente le informazioni sul numero di volte in cui la funzione è stata chiamata, tutti i chiamanti di questa procedura ecc. Con il costo dei risultati imprecisi del tempo - i profiler della strumentazione cambiano il codice di esecuzione del processore, quindi le previsioni delle branch e la cache funzionano in modo diverso e reale l'app funziona lentamente.

Ma la cosa più importante è la GUI e qui AQTime ha vinto. È un'applicazione potente ma molto facile da usare. VTune è abbastanza diverso. Ho perso troppo tempo per trovare il comando giusto in VTune. La GUI è molto caotica.

Quindi, ad eccezione del multithreading, utilizzo AQTime.

+2

Credo che AQTime offra sia strumentazione che campionamento. Quello che vorrei verificare su VTune è il suo supporto per il formato di output di debug Borland TD32. –

+0

Secondo i PDF, VTUNE ha il supporto ZERO per il formato di debug TD32. Quindi VTune può anche darti uno stack di chiamate con informazioni sul numero di riga per un eseguibile delphi? Vale la pena di menzionare direttamente C#, C/C++ e Visual Basic, ma non si fa menzione di delphi o di altro. –

+1

Warren: In base a questo: http://software.intel.com/en-us/articles/intel-vtune-performance-analyzer-for-windows-turning-on-debug-symbols-for-borland-delphi-enterprise -version-60/VTune ha il supporto per TD32. – lkessler

8

VTune in grado di leggere i contatori della CPU a basso livello, come branch prediction, cache miss, ecc ho usato per scoprire perché TopMM (multithread gestore di memoria di scala!) Era molto lento sul mio CPU Hyperthreading. Era qualcosa su aliasing della cache di memoria 64kb. Quindi fornisce più informazioni approfondite su come funziona realmente su una CPU, e perché qualcosa è lento a causa di errori di cache ecc. Per un'ottimizzazione reale (ultima%), userei entrambi, per l'ottimizzazione normale uso AQ o altro (come il mio asmprofiler :-))

+1

André: Se potessi semplicemente aggiungere informazioni a livello di linea in Asmprofiler, sarebbe tutto ciò di cui ho bisogno. – lkessler