1
0
mirror of https://github.com/golang/go synced 2024-10-05 04:31:22 -06:00
go/src/cmd
Russ Cox f91cc3bdbb gc: optimize interface ==, !=
If the values being compared have different concrete types,
then they're clearly unequal without needing to invoke the
actual interface compare routine.  This speeds tests for
specific values, like if err == io.EOF, by about 3x.

benchmark                  old ns/op    new ns/op    delta
BenchmarkIfaceCmp100             843          287  -65.95%
BenchmarkIfaceCmpNil100          184          182   -1.09%

Fixes #2591.

R=ken2
CC=golang-dev
https://golang.org/cl/5651073
2012-02-11 00:19:24 -05:00
..
5a build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
5c build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
5g gc: optimize interface ==, != 2012-02-11 00:19:24 -05:00
5l 5l: attempt to fix arm build 2012-02-08 15:12:56 +11:00
6a build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
6c build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
6g gc: optimize interface ==, != 2012-02-11 00:19:24 -05:00
6l 5l, 6l, 8l: implement -X flag 2012-02-07 16:46:33 -05:00
8a build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
8c build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
8g gc: optimize interface ==, != 2012-02-11 00:19:24 -05:00
8l 5l, 6l, 8l: implement -X flag 2012-02-07 16:46:33 -05:00
api cmd/api: follow constant references 2012-02-10 10:05:26 +11:00
cc build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
cgo go/printer: implement SourcePos mode 2012-02-10 13:27:32 -08:00
cov build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
dist cmd/dist: clear execute bit from source file 2012-02-11 13:23:44 +09:00
fix image: delete the image.Repeated type. 2012-02-08 11:41:47 +11:00
gc gc: optimize interface ==, != 2012-02-11 00:19:24 -05:00
go cmd/go: rearrange help for 'go test' 2012-02-09 14:12:18 +11:00
godoc fix build: wrong godoc code submitted before 2012-02-06 17:54:20 -08:00
gofmt go/printer: implement SourcePos mode 2012-02-10 13:27:32 -08:00
ld 5l, 6l, 8l: implement -X flag 2012-02-07 16:46:33 -05:00
nm build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
pack build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
prof runtime, pprof: add profiling of thread creation 2012-02-08 10:33:54 -05:00
vet vet: add a check for untagged struct literals. 2012-02-03 14:33:41 +11:00
yacc all packages: fix various typos 2012-02-01 16:19:36 -08:00