]> Cypherpunks repositories - gostls13.git/commit
cmd/gc, runtime: pass PC directly to racefuncenter.
authorRémy Oudompheng <oudomphe@phare.normalesup.org>
Thu, 1 Nov 2012 18:43:29 +0000 (19:43 +0100)
committerRémy Oudompheng <oudomphe@phare.normalesup.org>
Thu, 1 Nov 2012 18:43:29 +0000 (19:43 +0100)
commitce287933d65be61fa45a7633b90a044e2c0b31b2
treecc75a7462abe7eafe6362540faf3274d6f094ffb
parent5d15963a1fff87c94b5fe4e5e9de814c126096ca
cmd/gc, runtime: pass PC directly to racefuncenter.

go test -race -run none -bench . encoding/json
benchmark                      old ns/op    new ns/op    delta
BenchmarkCodeEncoder          3207689000   1716149000  -46.50%
BenchmarkCodeMarshal          3206761000   1715677000  -46.50%
BenchmarkCodeDecoder          8647304000   4482709000  -48.16%
BenchmarkCodeUnmarshal        8032217000   3451248000  -57.03%
BenchmarkCodeUnmarshalReuse   8016722000   3480502000  -56.58%
BenchmarkSkipValue           10340453000   4560313000  -55.90%

benchmark                       old MB/s     new MB/s  speedup
BenchmarkCodeEncoder                0.60         1.13    1.88x
BenchmarkCodeMarshal                0.61         1.13    1.85x
BenchmarkCodeDecoder                0.22         0.43    1.95x
BenchmarkCodeUnmarshal              0.24         0.56    2.33x
BenchmarkCodeUnmarshalReuse         0.24         0.56    2.33x
BenchmarkSkipValue                  0.19         0.44    2.32x

Fixes #4248.

R=dvyukov, golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6815066
src/cmd/gc/builtin.c
src/cmd/gc/racewalk.c
src/cmd/gc/runtime.go
src/pkg/runtime/race.c