]> Cypherpunks repositories - gostls13.git/commit
encoding/gob: custom array/slice decoders
authorRob Pike <r@golang.org>
Fri, 17 Oct 2014 19:37:41 +0000 (12:37 -0700)
committerRob Pike <r@golang.org>
Fri, 17 Oct 2014 19:37:41 +0000 (12:37 -0700)
commit9965e4022030f56fc241be8934d5e6b95ac84900
tree08efd013bcfb057a883b25c61df1e379afee721f
parentf4de59e234bfa7fb2a3a86764f390b09d4249a9b
encoding/gob: custom array/slice decoders
Use go generate to write better loops for decoding arrays,
just as we did for encoding. It doesn't help as much,
relatively speaking, but it's still noticeable.

benchmark                          old ns/op     new ns/op     delta
BenchmarkDecodeComplex128Slice     202348        184529        -8.81%
BenchmarkDecodeFloat64Slice        135800        120979        -10.91%
BenchmarkDecodeInt32Slice          121200        105149        -13.24%
BenchmarkDecodeStringSlice         288129        278214        -3.44%

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/154420044
src/encoding/gob/dec_helpers.go [new file with mode: 0644]
src/encoding/gob/decgen.go [new file with mode: 0644]
src/encoding/gob/decode.go
src/encoding/gob/enc_helpers.go
src/encoding/gob/encgen.go
src/encoding/gob/encode.go
src/encoding/gob/timing_test.go