]> Cypherpunks.ru repositories - gostls13.git/commit
testing: reduce memory allocation in Helper
authorBryan Boreham <bjboreham@gmail.com>
Wed, 11 Nov 2020 13:59:59 +0000 (13:59 +0000)
committerIan Lance Taylor <iant@golang.org>
Wed, 11 Nov 2020 20:48:31 +0000 (20:48 +0000)
commit4c174a7ba66724f8f9a1915c8f4868a8b3aaf219
treecb8f91c0adb2f76b899b47a3de55f25210d5ca59
parentb641f0dcf48aa748aa8d3db1e332b77044b48e59
testing: reduce memory allocation in Helper

Store the PC instead of the string name of the function, and defer
that conversion until we need it.

Helper is still relatively expensive in CPU time (few hundred ns),
but memory allocation is now constant for a test rather than linear in
the number of times Helper is called.

benchstat:
name        old time/op    new time/op    delta
TBHelper-4    1.30µs ±27%    0.53µs ± 1%   -59.03%  (p=0.008 n=5+5)

name        old alloc/op   new alloc/op   delta
TBHelper-4      216B ± 0%        0B       -100.00%  (p=0.008 n=5+5)

name        old allocs/op  new allocs/op  delta
TBHelper-4      2.00 ± 0%      0.00       -100.00%  (p=0.008 n=5+5)

Change-Id: I6565feb491513815e1058637d086b0374fa94e19
GitHub-Last-Rev: c2329cf225dab6de7309af3583daa011bafb9a62
GitHub-Pull-Request: golang/go#38834
Reviewed-on: https://go-review.googlesource.com/c/go/+/231717
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
src/testing/testing.go