From: Felix Geisendörfer Date: Tue, 2 Apr 2024 08:13:32 +0000 (+0200) Subject: net/http: speed up go test X-Git-Tag: go1.23rc1~697 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a4440e3d236dc2ca65851c39a51958cc1b3c03fb;p=gostls13.git net/http: speed up go test Optimize the execution speed of go test ./net/http from ~38s to ~28s. This is achieved by shortening the sleep interval utilized for identifying goroutine leaks. This optimization is motivated by noticing significant periods of inactivity in the -trace output. Even after applying this CL, many Off-CPU wait periods seem to remain: $ go test ./net/http ok net/http 27.744s real 0m28.204s user 0m4.991s sys 0m1.797s Change-Id: I6108ebbb715c33900f1506d810c0a8f8ed674d35 Reviewed-on: https://go-review.googlesource.com/c/go/+/575975 Reviewed-by: Damien Neil Reviewed-by: Dmitri Shuralyov LUCI-TryBot-Result: Go LUCI Auto-Submit: Damien Neil --- diff --git a/src/net/http/main_test.go b/src/net/http/main_test.go index 9022d4f124..4c18320717 100644 --- a/src/net/http/main_test.go +++ b/src/net/http/main_test.go @@ -142,7 +142,7 @@ func afterTest(t testing.TB) { ").noteClientGone(": "a closenotifier sender", } var stacks string - for i := 0; i < 10; i++ { + for i := 0; i < 2500; i++ { bad = "" stacks = strings.Join(interestingGoroutines(), "\n\n") for substr, what := range badSubstring { @@ -156,7 +156,7 @@ func afterTest(t testing.TB) { } // Bad stuff found, but goroutines might just still be // shutting down, so give it some time. - time.Sleep(250 * time.Millisecond) + time.Sleep(1 * time.Millisecond) } t.Errorf("Test appears to have leaked %s:\n%s", bad, stacks) }