2008-10-31 4 views

Antwort

7

Was genau meinen Sie mit "einen Thread Timing"?

Um einfach (in der Wandzeit) wie lange etwas dauert, verwenden Sie System.Diagnostics.Stopwatch. Ich glaube nicht, dass es etwas gibt, um die Prozessorzeit eines bestimmten Threads zu messen. Natürlich werden Profiler Ihnen sehr helfen, aber sie beeinflussen auch das Timing des Programms, das sie untersuchen, was die Sache schwieriger macht.

+0

Das Problem ist, wir haben etwa 20 Threads und wollen den Prozessor Zinken von jedem Thread kennen. –

+0

Gibt es keine Möglichkeit, die Threads einzeln zu benchmarkieren? Sie können einen Profiler verwenden, um eine Vorstellung davon zu bekommen, was innerhalb Ihrer Threads viel Zeit in Anspruch nimmt, aber das wird * die Gesamtleistung beeinflussen. (Mehr für die genauere Instrumentierung, weniger für die Probenahme.) –

2

Wenn Sie Vorgänge in .NET genau zeitgesteuert verarbeiten müssen, möchten Sie die Klasse Stopwatch (die die Windows QueryPerformanceCounter-API umschließt). Überprüfen Sie diese (Internet Archive) post für Thread Timing Überlegungen.