अपने बेंचमार्किंग कोड को उपयोगिता वर्ग / विधि में धकेलना उपयोगी है। StopWatchवर्ग होने की जरूरत नहीं है Disposedया Stoppedत्रुटि पर। तो, सबसे सरल कोड के लिए समय कुछ कार्रवाई है
public partial class With
{
public static long Benchmark(Action action)
{
var stopwatch = Stopwatch.StartNew();
action();
stopwatch.Stop();
return stopwatch.ElapsedMilliseconds;
}
}
नमूना कॉलिंग कोड
public void Execute(Action action)
{
var time = With.Benchmark(action);
log.DebugFormat(“Did action in {0} ms.”, time);
}
यहाँ विस्तार विधि संस्करण है
public static class Extensions
{
public static long Benchmark(this Action action)
{
return With.Benchmark(action);
}
}
और सैंपल कॉलिंग कोड
public void Execute(Action action)
{
var time = action.Benchmark()
log.DebugFormat(“Did action in {0} ms.”, time);
}