]> Cypherpunks repositories - gostls13.git/commit
encoding/gob: speedup decoding of maps by zeroing values
authorFilip Gruszczyński <gruszczy@gmail.com>
Fri, 31 Mar 2017 02:09:56 +0000 (19:09 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 26 May 2017 21:06:24 +0000 (21:06 +0000)
commit11ab865d6f42bcbfbe67219bd591518a1e1e8faf
tree1079d9df47606da6fa780c2d548758acc150ce9f
parent2cb3d1d8936b2aa009edbde7696dde48961c77b3
encoding/gob: speedup decoding of maps by zeroing values

Instead of allocating a new reflect.Value object on every loop we zero it.

DecodeComplex128Slice-8  13.1µs ± 7%  13.2µs ± 8%     ~     (p=0.347 n=18+19)
DecodeFloat64Slice-8     8.13µs ± 5%  8.00µs ± 3%     ~     (p=0.168 n=20+19)
DecodeInt32Slice-8       8.27µs ± 5%  8.08µs ± 5%   -2.27%  (p=0.001 n=19+18)
DecodeStringSlice-8      17.9µs ±12%  17.8µs ±11%     ~     (p=0.989 n=20+19)
DecodeInterfaceSlice-8    163µs ±10%   159µs ± 4%     ~     (p=0.057 n=19+19)
DecodeMap-8               220µs ± 2%   183µs ± 1%  -17.07%  (p=0.000 n=19+18)

Updates #19525

Change-Id: I27f8edd4761787f6b9928d34cefa08a34a6e25b2
Reviewed-on: https://go-review.googlesource.com/39203
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/encoding/gob/codec_test.go
src/encoding/gob/decode.go