• Pascal S. de Kloe's avatar
    encoding/json: reduce unmarshal mallocs for unmapped fields · df68afd0
    Pascal S. de Kloe authored
    JSON decoding performs poorly for unmapped and ignored fields. We noticed better
    performance when unmarshalling unused fields. The loss comes mostly from calls
    to scanner.error as described at #17914.
    
    benchmark                 old ns/op     new ns/op     delta
    BenchmarkIssue10335-8     431           408           -5.34%
    BenchmarkUnmapped-8       1744          1314          -24.66%
    
    benchmark                 old allocs     new allocs     delta
    BenchmarkIssue10335-8     4              3              -25.00%
    BenchmarkUnmapped-8       18             4              -77.78%
    
    benchmark                 old bytes     new bytes     delta
    BenchmarkIssue10335-8     320           312           -2.50%
    BenchmarkUnmapped-8       568           344           -39.44%
    
    Fixes #17914, improves #10335
    
    Change-Id: I7d4258a94eb287c0fe49e7334795209b90434cd0
    Reviewed-on: https://go-review.googlesource.com/33276Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    df68afd0
Name
Last commit
Last update
..
ascii85 Loading commit data...
asn1 Loading commit data...
base32 Loading commit data...
base64 Loading commit data...
binary Loading commit data...
csv Loading commit data...
gob Loading commit data...
hex Loading commit data...
json Loading commit data...
pem Loading commit data...
xml Loading commit data...
encoding.go Loading commit data...