]> Cypherpunks repositories - gostls13.git/commit
encoding/binary: skip blank fields when (en/de)coding structs
authorRobert Griesemer <gri@golang.org>
Thu, 1 Nov 2012 19:39:20 +0000 (12:39 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 1 Nov 2012 19:39:20 +0000 (12:39 -0700)
commit27c990e7946d69fecc0c823e54f7d7da631ed1a5
treede95545adc26745727acc57a8f2d350330a1aba7
parent8fadb70cf8d8a2a10673cdcb1441104ce2e437cf
encoding/binary: skip blank fields when (en/de)coding structs

- minor unrelated cleanups
- performance impact in the noise

benchmark                       old ns/op    new ns/op    delta
BenchmarkReadSlice1000Int32s        83462        83346   -0.14%
BenchmarkReadStruct                  4141         4247   +2.56%
BenchmarkReadInts                    1588         1586   -0.13%
BenchmarkWriteInts                   1550         1489   -3.94%
BenchmarkPutUvarint32                  39           39   +1.02%
BenchmarkPutUvarint64                 142          144   +1.41%

benchmark                        old MB/s     new MB/s  speedup
BenchmarkReadSlice1000Int32s        47.93        47.99    1.00x
BenchmarkReadStruct                 16.90        16.48    0.98x
BenchmarkReadInts                   18.89        18.91    1.00x
BenchmarkWriteInts                  19.35        20.15    1.04x
BenchmarkPutUvarint32              101.90       100.82    0.99x
BenchmarkPutUvarint64               56.11        55.45    0.99x

Fixes #4185.

R=r, rsc
CC=golang-dev
https://golang.org/cl/6750053
src/pkg/encoding/binary/binary.go
src/pkg/encoding/binary/binary_test.go