From b613d21ffd17c1dda480b205f0cce5031bdbd5dd Mon Sep 17 00:00:00 2001 From: Junyang Shao Date: Tue, 18 Mar 2025 21:13:23 +0000 Subject: testing: allow manual timer control in testing.B.Loop Fixes #72922 Change-Id: I56610d2d11d151a8f95b6434bbedbfcd5c11c317 Reviewed-on: https://go-review.googlesource.com/c/go/+/658975 LUCI-TryBot-Result: Go LUCI Commit-Queue: Junyang Shao Reviewed-by: Austin Clements --- src/testing/benchmark.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/testing/benchmark.go') diff --git a/src/testing/benchmark.go b/src/testing/benchmark.go index 6919341ef7..ca12bd2fa2 100644 --- a/src/testing/benchmark.go +++ b/src/testing/benchmark.go @@ -368,8 +368,8 @@ func (b *B) ReportMetric(n float64, unit string) { } func (b *B) stopOrScaleBLoop() bool { - timeElapsed := highPrecisionTimeSince(b.start) - if timeElapsed >= b.benchTime.d { + t := b.Elapsed() + if t >= b.benchTime.d { // Stop the timer so we don't count cleanup time b.StopTimer() return false @@ -377,7 +377,7 @@ func (b *B) stopOrScaleBLoop() bool { // Loop scaling goalns := b.benchTime.d.Nanoseconds() prevIters := int64(b.N) - b.N = predictN(goalns, prevIters, timeElapsed.Nanoseconds(), prevIters) + b.N = predictN(goalns, prevIters, t.Nanoseconds(), prevIters) b.loopN++ return true } -- cgit v1.3-5-g9baa