public async Task PerfCollectorTryStopAsync(int delay = 100) { while (PerfCollector.TryStop() != true) { await Task.Delay(100); } }
protected async Task Processing() { StopWatchTimer.Start(); TimeSpan?next = null; TimeSpan now; do { await BenchmarkingTarget(); Iterations++; now = StopWatchTimer.Elapsed; next = now > next ? now + PerfCollector.TryRead(): next ?? (now + PerfCollector.TryRead()); } while (now < TimeSpan); StopWatchTimer.Stop(); ElapsedMilliseconds = StopWatchTimer.ElapsedMilliseconds; StopWatchTimer = null; }