From d5300d67960d76859a8036d1f6801c7450c26398 Mon Sep 17 00:00:00 2001 From: roshilikang Date: Fri, 3 Dec 2021 17:44:57 +0800 Subject: [PATCH 1/2] fix benchtime timeout --- src/testing/benchmark.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/testing/benchmark.go b/src/testing/benchmark.go index d8ec217f66c628..72ec3853228385 100644 --- a/src/testing/benchmark.go +++ b/src/testing/benchmark.go @@ -326,7 +326,13 @@ func (b *B) launch() { // Run more iterations than we think we'll need (1.2x). n += n / 5 // Don't grow too fast in case we had timing errors previously. - n = min(n, 100*last) + if n < 0 { + // If n < 0 (overflow int64), means need to be executed many times, + // Otherwise it is easy to time out. + n = max(n, 100*last) + } else { + n = min(n, 100*last) + } // Be sure to run at least one more than last time. n = max(n, last+1) // Don't run more than 1e9 times. (This also keeps n in int range on 32 bit platforms.) From 706058c9ece2c190b5a2180535da1d7b4340f1c4 Mon Sep 17 00:00:00 2001 From: Roshi Date: Sat, 4 Dec 2021 10:15:24 +0800 Subject: [PATCH 2/2] fix benchtime timeout --- src/testing/benchmark.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/testing/benchmark.go b/src/testing/benchmark.go index d8ec217f66c628..72ec3853228385 100644 --- a/src/testing/benchmark.go +++ b/src/testing/benchmark.go @@ -326,7 +326,13 @@ func (b *B) launch() { // Run more iterations than we think we'll need (1.2x). n += n / 5 // Don't grow too fast in case we had timing errors previously. - n = min(n, 100*last) + if n < 0 { + // If n < 0 (overflow int64), means need to be executed many times, + // Otherwise it is easy to time out. + n = max(n, 100*last) + } else { + n = min(n, 100*last) + } // Be sure to run at least one more than last time. n = max(n, last+1) // Don't run more than 1e9 times. (This also keeps n in int range on 32 bit platforms.)