go/src/encoding/gob
Rob Pike 63acc48f87 encoding/gob: add custom decoder buffer for performance
As we did with encoding, provide a trivial byte reader for
faster decoding. We can also reduce some of the copying
by doing the allocation all at once using a slightly different
interface from byte buffers.

benchmark                            old ns/op     new ns/op     delta
BenchmarkEndToEndPipe                13368         12902         -3.49%
BenchmarkEndToEndByteBuffer          5969          5642          -5.48%
BenchmarkEndToEndSliceByteBuffer     479485        470798        -1.81%
BenchmarkEncodeComplex128Slice       92367         92201         -0.18%
BenchmarkEncodeFloat64Slice          39990         38960         -2.58%
BenchmarkEncodeInt32Slice            30510         27938         -8.43%
BenchmarkEncodeStringSlice           33753         33365         -1.15%
BenchmarkDecodeComplex128Slice       232278        196704        -15.32%
BenchmarkDecodeFloat64Slice          150258        128191        -14.69%
BenchmarkDecodeInt32Slice            133806        115748        -13.50%
BenchmarkDecodeStringSlice           335117        300534        -10.32%

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/154360049
2014-10-20 07:33:08 -07:00
..
codec_test.go encoding/gob: add custom decoder buffer for performance 2014-10-20 07:33:08 -07:00
debug.go
dec_helpers.go encoding/gob: fix print format in generated decoder helpers 2014-10-19 06:44:50 -07:00
decgen.go encoding/gob: fix print format in generated decoder helpers 2014-10-19 06:44:50 -07:00
decode.go encoding/gob: add custom decoder buffer for performance 2014-10-20 07:33:08 -07:00
decoder.go encoding/gob: add custom decoder buffer for performance 2014-10-20 07:33:08 -07:00
doc.go
dump.go
enc_helpers.go encoding/gob: custom array/slice decoders 2014-10-17 12:37:41 -07:00
encgen.go encoding/gob: custom array/slice decoders 2014-10-17 12:37:41 -07:00
encode.go encoding/gob: use simple append-only buffer for encoding 2014-10-17 20:51:15 -07:00
encoder.go encoding/gob: use simple append-only buffer for encoding 2014-10-17 20:51:15 -07:00
encoder_test.go encoding/gob: error rather than panic when decoding enormous slices 2014-09-25 15:18:25 -07:00
error.go
example_encdec_test.go
example_interface_test.go
example_test.go
gobencdec_test.go
timing_test.go encoding/gob: custom array/slice decoders 2014-10-17 12:37:41 -07:00
type.go
type_test.go