]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: add testing-flag guard to package-is-collected assert
authorDavid Chase <drchase@google.com>
Wed, 2 Nov 2022 21:23:47 +0000 (17:23 -0400)
committerDavid Chase <drchase@google.com>
Tue, 15 Nov 2022 18:22:08 +0000 (18:22 +0000)
commit96711e4d8b9247a9b8502efef1b8714dd9e1915a
tree5fa836b39170b30c72c94857258a7e69ea0c2ae8
parentb14cf3d93ae5c477dd35f13f6ba41044f01a7f7d
cmd/compile: add testing-flag guard to package-is-collected assert

On advice of the department of garbage collection, forcing a garbage
collection generally does not improve performance. However,
this-data-is-now-unreachable is a good property to be able to test,
and that requires finalizers and a forced GC. So, to save build time,
this test was removed from the compiler itself, but to verify the
property, it was added to the fma_test (and the end-to-end dependence
on the flag was tested with an inserted failure in testing the
test).

TODO: also turn on the new -d=gccheck=1 debug flag on the ssacheck
builder.

Benchmarking reveals that it is profitable to avoid this GC,
with about 1.5% reduction in both user and wall time.

(48 p) https://perf.golang.org/search?q=upload:20221103.3
(12 p) https://perf.golang.org/search?q=upload:20221103.5

Change-Id: I4c4816d619735838a32388acf0cc5eb1cd5f0db5
Reviewed-on: https://go-review.googlesource.com/c/go/+/447359
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/base/debug.go
src/cmd/compile/internal/noder/unified.go
src/cmd/compile/internal/ssa/fmahash_test.go