go/src
Josh Bleecher Snyder a12cc71980 testing: make benchmarking faster
The number of estimated iterations required to reach the benchtime is multiplied by a safety margin (to avoid falling just short) and then rounded up to a readable number. With an accurate estimate, in the worse case, the resulting number of iterations could be 3.75x more than necessary: 1.5x for safety * 2.5x to round up (e.g. from 2eX+1 to 5eX).

This CL reduces the safety margin to 1.2x. Experimentation showed a diminishing margin of return past 1.2x, although the average case continued to show improvements down to 1.05x.

This CL also reduces the maximum round-up multiplier from 2.5x (from 2eX+1 to 5eX) to 2x, by allowing the number of iterations to be of the form 3eX.

Both changes improve benchmark wall clock times, and the effects are cumulative.

From 1.5x to 1.2x safety margin:

package		old s	new s	delta
bytes		163	125	-23%
encoding/json	27	21	-22%
net/http	42	36	-14%
runtime		463	418	-10%
strings		82	65	-21%

Allowing 3eX iterations:

package		old s	new s	delta
bytes		163	134	-18%
encoding/json	27	23	-15%
net/http	42	36	-14%
runtime		463	422	-9%
strings		82	72	-12%

Combined:

package		old s	new s	delta
bytes		163	112	-31%
encoding/json	27	20	-26%
net/http	42	30	-29%
runtime		463	346	-25%
strings		82	60	-27%

LGTM=crawshaw, r, rsc
R=golang-codereviews, crawshaw, r, rsc
CC=golang-codereviews
https://golang.org/cl/105990045
2014-06-24 08:39:30 -07:00
..
cmd runtime/race: support freebsd 2014-06-20 20:20:56 -04:00
lib9 lib9: restore argv0 initialization code. 2014-04-21 00:08:39 -04:00
libbio libbio: add casts to eliminate -Wconversion warning 2014-04-14 09:36:47 -07:00
liblink liblink: fix field tracking 2014-05-20 00:30:58 -04:00
pkg testing: make benchmarking faster 2014-06-24 08:39:30 -07:00
Make.dist
all.bash build: make nacl pass 2014-05-20 12:10:19 -04:00
all.bat
all.rc
clean.bash
clean.bat
clean.rc
make.bash build: make nacl pass 2014-05-20 12:10:19 -04:00
make.bat
make.rc lib9: enable on Plan 9 2014-02-13 20:06:41 +01:00
nacltest.bash nacltest.bash, misc/nacl/README: update NaCl docs. 2014-06-10 20:20:49 -04:00
race.bash race.bash,race.bat: unset GOROOT_FINAL during tests 2014-05-07 16:34:21 +10:00
race.bat race.bash,race.bat: unset GOROOT_FINAL during tests 2014-05-07 16:34:21 +10:00
run.bash run.bash: run race tests on freebsd 2014-06-20 20:54:18 -04:00
run.bat build: remove goplay from run.bash and run.bat 2014-06-02 08:44:47 +10:00
run.rc build: don't build goplay in run.rc. 2014-06-01 19:20:46 -04:00
sudo.bash