• Brad Fitzpatrick's avatar
    encoding/json: use sync.Pool · 46b4ed2c
    Brad Fitzpatrick authored
    Benchmark is within the noise. I had to run this a dozen times
    each before & after (on wall power, without a browser running)
    before I could get halfway consistent numbers, and even then
    they jumped all over the place, with the new one sometimes
    being better. But these are the best of a dozen each.
    
    Slowdown is expected anyway, since I imagine channels are
    optimized more.
    
    benchmark                 old ns/op    new ns/op    delta
    BenchmarkCodeEncoder       26556987     27291072   +2.76%
    BenchmarkEncoderEncode         1069         1071   +0.19%
    
    benchmark                  old MB/s     new MB/s  speedup
    BenchmarkCodeEncoder          73.07        71.10    0.97x
    
    benchmark                old allocs   new allocs    delta
    BenchmarkEncoderEncode            2            2    0.00%
    
    benchmark                 old bytes    new bytes    delta
    BenchmarkEncoderEncode          221          221    0.00%
    
    Update #4720
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/37720047
    46b4ed2c
encode.go 29.9 KB