diff options
| author | Russ Cox <rsc@golang.org> | 2015-04-01 16:02:34 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2015-04-03 16:13:36 +0000 |
| commit | 92dba0d2780331d68e56bdb1a5e0af13b714be73 (patch) | |
| tree | 85569ca34e7c2a65861156739b038cf74c4c5072 /src/bytes | |
| parent | 90c0fefe51b59f854f4eb7a8bc29348ae478b673 (diff) | |
| download | go-92dba0d2780331d68e56bdb1a5e0af13b714be73.tar.xz | |
cmd/internal/gc: use hardware instruction for math.Sqrt (amd64/arm)
I first prototyped this change in Sept 2011, and I discarded it
because it made no difference in the obvious benchmark loop.
It still makes no difference in the obvious benchmark loop,
but in a less obvious one, doing some extra computation
around the calls to Sqrt, not making the call does have a
significant effect.
benchmark old ns/op new ns/op delta
BenchmarkSqrt 4.56 4.57 +0.22%
BenchmarkSqrtIndirect 4.56 4.56 +0.00%
BenchmarkSqrtGo 69.4 69.4 +0.00%
BenchmarkSqrtPrime 4417 3647 -17.43%
This is a warmup for using hardware expansions for some
calls to 1-line assembly routines in the runtime (for example getg).
Change-Id: Ie66be23f8c09d0f7dc4ddd7ca8a93cfce28f55a4
Reviewed-on: https://go-review.googlesource.com/8356
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/bytes')
0 files changed, 0 insertions, 0 deletions
