2008-10-31 6 views

risposta

7

che cosa esattamente si intende per "temporizzazione un filo"?

Al momento giusto (in tempo di parete) per quanto tempo ci vuole qualcosa, utilizzare System.Diagnostics.Stopwatch. Non credo che ci sia qualcosa per misurare il tempo del processore preso da un thread particolare. Ovviamente, i profiler ti aiuteranno molto, ma influenzano anche i tempi del programma che stanno esaminando, il che rende le cose più complicate.

+0

Il problema è che abbiamo ottenuto circa 20 thread e vogliamo sapere i denti del processore presi da ciascun thread. –

+0

Non esiste un modo per isolare i thread per eseguire il benchmark individualmente? Puoi usare un profiler per avere un'idea di cosa impiega molto tempo all'interno dei tuoi thread, ma che * influenzerà * le prestazioni generali. (Altro per le misure di strumentazione più accurate, meno per il campionamento.) –

2

Se è necessario eseguire con precisione operazioni temporali in .NET, si desidera la classe Stopwatch (che include l'API di Windows QueryPerformanceCounter). Controlla questo (archivio Internet) post per le considerazioni sulla temporizzazione dei thread.

Problemi correlati