Skip to content

Instantly share code, notes, and snippets.

@liggitt
Last active October 9, 2024 19:05
Show Gist options
  • Save liggitt/bf28159afdaabf52b78ac43d86bc6362 to your computer and use it in GitHub Desktop.
Save liggitt/bf28159afdaabf52b78ac43d86bc6362 to your computer and use it in GitHub Desktop.
encoding/json unmarshal regression
{
"int": 1,
"bool": true,
"string": "This is a test of a string 1",
"map": {
"a": "1",
"b": "2",
"c": "3",
"d": "4"
},
"custom": {"some":"custom","unmarshaling":true},
"array": [
{
"int": 1,
"bool": true,
"string": "This is a test of a string 2",
"small": {
"f01": "ABC"
},
"big": {
"f01": "ABC"
}
},
{
"int": 1,
"bool": true,
"string": "This is a test of a string 3",
"small": {
"f01": "ABC"
},
"big": {
"f01": "ABC"
}
},
{
"int": 1,
"bool": true,
"string": "This is a test of a string 4",
"small": {
"f01": "ABC"
},
"big": {
"f01": "ABC"
}
}
],
"small": {
"f01": "ABC",
"f02": "ABC",
"f03": "ABC",
"f04": "ABC",
"f05": "ABC",
"f06": "ABC",
"f07": "ABC",
"f08": "ABC",
"f09": "ABC",
"f10": "ABC",
"f11": "ABC",
"f12": "ABC",
"f13": "ABC",
"f14": "ABC",
"f15": "ABC",
"f16": "ABC",
"f17": "ABC",
"f18": "ABC",
"f19": "ABC",
"f20": "ABC",
"f21": "ABC",
"f22": "ABC",
"f23": "ABC",
"f24": "ABC",
"f25": "ABC",
"f26": "ABC",
"f27": "ABC",
"f28": "ABC",
"f29": "ABC",
"f30": "ABC",
"f31": "ABC",
"f32": "ABC",
"f33": "ABC",
"f34": "ABC",
"f35": "ABC",
"f36": "ABC",
"f37": "ABC",
"f38": "ABC",
"f39": "ABC",
"f40": "ABC",
"f41": "ABC",
"f42": "ABC",
"f43": "ABC",
"f44": "ABC",
"f45": "ABC",
"f46": "ABC",
"f47": "ABC",
"f48": "ABC",
"f49": "ABC",
"f50": "ABC",
"f51": "ABC",
"f52": "ABC",
"f53": "ABC",
"f54": "ABC",
"f55": "ABC",
"f56": "ABC",
"f57": "ABC",
"f58": "ABC",
"f59": "ABC",
"f60": "ABC",
"f61": "ABC",
"f62": "ABC",
"f63": "ABC",
"f64": "ABC"
},
"big": {
"f01": "ABC",
"f02": "ABC",
"f03": "ABC",
"f04": "ABC",
"f05": "ABC",
"f06": "ABC",
"f07": "ABC",
"f08": "ABC",
"f09": "ABC",
"f10": "ABC",
"f11": "ABC",
"f12": "ABC",
"f13": "ABC",
"f14": "ABC",
"f15": "ABC",
"f16": "ABC",
"f17": "ABC",
"f18": "ABC",
"f19": "ABC",
"f20": "ABC",
"f21": "ABC",
"f22": "ABC",
"f23": "ABC",
"f24": "ABC",
"f25": "ABC",
"f26": "ABC",
"f27": "ABC",
"f28": "ABC",
"f29": "ABC",
"f30": "ABC",
"f31": "ABC",
"f32": "ABC",
"f33": "ABC",
"f34": "ABC",
"f35": "ABC",
"f36": "ABC",
"f37": "ABC",
"f38": "ABC",
"f39": "ABC",
"f40": "ABC",
"f41": "ABC",
"f42": "ABC",
"f43": "ABC",
"f44": "ABC",
"f45": "ABC",
"f46": "ABC",
"f47": "ABC",
"f48": "ABC",
"f49": "ABC",
"f50": "ABC",
"f51": "ABC",
"f52": "ABC",
"f53": "ABC",
"f54": "ABC",
"f55": "ABC",
"f56": "ABC",
"f57": "ABC",
"f58": "ABC",
"f59": "ABC",
"f60": "ABC",
"f61": "ABC",
"f62": "ABC",
"f63": "ABC",
"f64": "ABC",
"f65": "ABC"
}
}
benchstat output1.21-2023-02-27-1156-0d52401e23-good.txt output1.21-2023-02-27-1158-ac27b4dd1d-bad.txt
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
│ 1.21-2023-02-27-1156-0d52401e23-good.txt │ 1.21-2023-02-27-1158-ac27b4dd1d-bad.txt │
│ sec/op │ sec/op vs base │
Unmarshal/typed_stdlib-10 31.80µ ± 1% 32.55µ ± 2% +2.35% (p=0.001 n=10)
Unmarshal/untyped_stdlib-10 35.80µ ± 2% 35.40µ ± 2% -1.10% (p=0.009 n=10)
geomean 33.74µ 33.95µ +0.61%
│ 1.21-2023-02-27-1156-0d52401e23-good.txt │ 1.21-2023-02-27-1158-ac27b4dd1d-bad.txt │
│ B/op │ B/op vs base │
Unmarshal/typed_stdlib-10 12.93Ki ± 0% 19.91Ki ± 0% +53.96% (p=0.000 n=10)
Unmarshal/untyped_stdlib-10 27.04Ki ± 0% 27.04Ki ± 0% ~ (p=0.491 n=10)
geomean 18.70Ki 23.20Ki +24.08%
│ 1.21-2023-02-27-1156-0d52401e23-good.txt │ 1.21-2023-02-27-1158-ac27b4dd1d-bad.txt │
│ allocs/op │ allocs/op vs base │
Unmarshal/typed_stdlib-10 161.0 ± 0% 162.0 ± 0% +0.62% (p=0.000 n=10)
Unmarshal/untyped_stdlib-10 515.0 ± 0% 515.0 ± 0% ~ (p=1.000 n=10) ¹
geomean 287.9 288.8 +0.31%
¹ all samples are equal
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 34850 32655 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37284 35069 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37464 32224 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37248 32352 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37365 32377 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37492 32080 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37599 32169 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37262 32172 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37009 32112 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36986 32622 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32102 38431 ns/op 28162 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33439 35811 ns/op 28163 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33404 35910 ns/op 28162 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33402 36284 ns/op 28164 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33481 35915 ns/op 28162 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33508 35945 ns/op 28166 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33378 36108 ns/op 28161 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31630 36219 ns/op 28169 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33465 36039 ns/op 28165 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33303 36014 ns/op 28166 B/op 517 allocs/op
PASS
ok sigs.k8s.io/json 31.272s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 34040 33821 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36062 33654 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36044 33417 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35860 33361 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36187 33344 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35962 33385 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36012 33198 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35678 33390 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35820 34015 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 34831 34059 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31730 39088 ns/op 28163 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31030 38622 ns/op 28165 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31285 38615 ns/op 28167 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32160 41221 ns/op 28159 B/op 516 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31534 38330 ns/op 28165 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31057 38662 ns/op 28165 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31830 38069 ns/op 28161 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31365 38133 ns/op 28167 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31658 37744 ns/op 28160 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31431 38408 ns/op 28161 B/op 517 allocs/op
PASS
ok sigs.k8s.io/json 31.622s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35223 32261 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36358 31826 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37128 32015 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37587 31981 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37724 31995 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37454 31860 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37812 31955 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37719 31816 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37072 32150 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37719 32274 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33696 35915 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33567 36568 ns/op 27699 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33435 35977 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31234 35552 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33612 35623 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33586 35894 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33559 35719 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33303 36241 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33109 36699 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33727 36549 ns/op 27690 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.066s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35871 31889 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37598 31870 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36289 32681 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37501 32082 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37621 31800 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37100 31935 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37294 32573 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37425 32348 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37022 31934 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37779 31961 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33616 36115 ns/op 27697 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32437 35763 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33284 35909 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33211 36192 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32085 36262 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33932 36567 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33219 36101 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33643 36242 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32560 35911 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33558 36652 ns/op 27691 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.104s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 36093 31688 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36290 32437 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38179 31480 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38198 31590 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38175 31507 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37293 31757 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36764 32004 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36528 33534 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37028 31900 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37728 31709 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33703 35932 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33738 35586 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32599 36491 ns/op 27686 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33127 36736 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32803 36193 ns/op 27696 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32874 36030 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33458 35900 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32887 36397 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33344 35930 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33147 35919 ns/op 27689 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.092s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35680 31576 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38084 31443 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38286 31592 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37902 31568 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37666 31595 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37904 31572 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38097 31502 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37966 31483 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38347 31548 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37906 31717 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31710 35601 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33579 35747 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32876 36440 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32310 36833 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33212 36248 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33702 35754 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33548 35795 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33168 35652 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33656 36813 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32398 36070 ns/op 27692 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.052s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 36019 32066 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36985 32406 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37227 32247 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37885 31790 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37969 31798 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37762 31866 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37514 31729 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37788 31654 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38209 31809 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37828 31586 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33732 35761 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33883 37206 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32194 35741 ns/op 27686 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33626 36405 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33601 35721 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33692 35731 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33326 36414 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33609 35882 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33123 35620 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33441 35834 ns/op 27693 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.148s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35482 32134 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37590 32127 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37351 32140 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36865 32536 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 34383 33129 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37574 32069 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35998 32563 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37238 32597 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 32498 33444 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37166 33162 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33211 35375 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33554 35404 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33900 35380 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33724 36187 ns/op 27687 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33766 35381 ns/op 27687 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33830 35402 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33890 35455 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33930 35484 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33910 37193 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33765 35372 ns/op 27693 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.097s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35097 32266 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37258 32380 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37188 32334 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36002 32551 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36051 33305 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35829 32727 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36888 32097 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37478 33598 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37447 32200 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37382 32262 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33549 35524 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33495 35725 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33806 35637 ns/op 27685 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33715 35562 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33856 35498 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33547 35474 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33598 35658 ns/op 27688 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33760 35603 ns/op 27697 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33626 36121 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33686 35500 ns/op 27692 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.164s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 33549 32791 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36020 32529 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36867 32734 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36740 33015 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36351 34324 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37404 32706 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35998 33324 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36668 33637 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 33608 33483 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37357 34067 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 31566 36900 ns/op 27684 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 29844 36506 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32856 36189 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33384 36056 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33174 35899 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33296 36346 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33096 36351 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33484 35649 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33634 35889 ns/op 27686 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33778 35918 ns/op 27693 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.230s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35253 32037 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37587 32118 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37082 32270 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36669 32798 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37545 31965 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37520 31945 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37426 32083 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37582 32047 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37146 32077 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37162 32136 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34044 35343 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34000 35496 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33936 36049 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33906 35451 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33841 35474 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33747 35377 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33846 35386 ns/op 27694 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34022 35503 ns/op 27689 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33445 35428 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33900 35284 ns/op 27691 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.111s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35152 32612 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37147 32837 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36688 32466 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37006 32487 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36994 32515 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37225 32427 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37126 32983 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36477 32446 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36547 32518 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37189 32754 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33375 36754 ns/op 27688 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33625 36217 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33669 35460 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33902 35536 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33615 35560 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33625 35699 ns/op 27688 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33883 35565 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33122 35443 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34083 36357 ns/op 27693 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33307 38157 ns/op 27687 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.347s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35048 32814 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35744 32737 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37088 33277 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36003 32977 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37258 32897 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36362 32679 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35922 33105 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36867 33063 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36178 32983 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36381 33003 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33496 35958 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33207 35985 ns/op 27692 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33562 36192 ns/op 27695 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32916 36165 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 30764 36178 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33504 36090 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32996 36015 ns/op 27688 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33332 36846 ns/op 27691 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33050 36024 ns/op 27690 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32959 35916 ns/op 27686 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.190s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35029 32651 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37089 32427 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35788 33082 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36870 32708 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37035 33406 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36146 33218 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35208 33478 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35006 33234 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35738 33242 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 35658 33896 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33296 36686 ns/op 27732 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33711 35657 ns/op 27733 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32385 36117 ns/op 27734 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32288 36950 ns/op 27731 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33588 35332 ns/op 27735 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33984 36050 ns/op 27732 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32527 36078 ns/op 27734 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33442 35760 ns/op 27733 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32956 35713 ns/op 27733 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34009 35583 ns/op 27738 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.129s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 36055 31477 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38248 31804 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36770 31711 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38203 31672 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38144 31736 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38001 31539 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38172 31417 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38059 31379 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38230 31795 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38102 31491 ns/op 13240 B/op 161 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33468 35872 ns/op 28163 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33236 35911 ns/op 28163 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33535 35959 ns/op 28163 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33655 35779 ns/op 28164 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33598 36229 ns/op 28167 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33280 35769 ns/op 28160 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33650 36541 ns/op 28161 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32804 37654 ns/op 28161 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32821 35782 ns/op 28166 B/op 517 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33482 35844 ns/op 28161 B/op 517 allocs/op
PASS
ok sigs.k8s.io/json 31.103s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35658 32411 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 34274 32313 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37472 32258 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36560 32598 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37026 32292 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37339 32259 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37368 32223 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37034 32296 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36196 32165 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36255 33392 ns/op 20384 B/op 162 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32296 36741 ns/op 27733 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33872 35609 ns/op 27737 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32348 37185 ns/op 27733 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33738 35654 ns/op 27734 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33910 35452 ns/op 27734 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33975 35238 ns/op 27736 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33716 35582 ns/op 27735 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33160 36464 ns/op 27734 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33178 35498 ns/op 27739 B/op 515 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33925 35433 ns/op 27736 B/op 515 allocs/op
PASS
ok sigs.k8s.io/json 31.000s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
BenchmarkUnmarshal/typed_stdlib-10 35548 32423 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38407 31503 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38318 31416 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38544 31389 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38115 32850 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38229 31693 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 36936 31830 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37371 31373 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38139 32322 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37669 31869 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32706 36326 ns/op 28014 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32935 38709 ns/op 28010 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33873 35892 ns/op 28016 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34063 35165 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34080 35639 ns/op 28019 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33385 35208 ns/op 28012 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34662 35131 ns/op 28016 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33201 36930 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 33608 34818 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34270 35026 ns/op 28016 B/op 509 allocs/op
PASS
ok sigs.k8s.io/json 31.126s
goos: darwin
goarch: arm64
pkg: sigs.k8s.io/json
cpu: Apple M1 Pro
BenchmarkUnmarshal/typed_stdlib-10 36470 31180 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38608 31394 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38431 31171 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38701 31497 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38586 31347 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 37990 31380 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38172 31252 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38485 31334 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38162 31167 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/typed_stdlib-10 38470 31178 ns/op 20288 B/op 158 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34762 34325 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34566 34647 ns/op 28012 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34952 34555 ns/op 28014 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34813 35474 ns/op 28010 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34539 35622 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 32814 34602 ns/op 28013 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34574 34453 ns/op 28016 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34587 34536 ns/op 28015 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34909 34396 ns/op 28015 B/op 509 allocs/op
BenchmarkUnmarshal/untyped_stdlib-10 34255 34410 ns/op 28013 B/op 509 allocs/op
PASS
ok sigs.k8s.io/json 30.838s
package jsontest
import (
"encoding/json"
"io/ioutil"
"testing"
)
func BenchmarkUnmarshal(b *testing.B) {
data, err := ioutil.ReadFile("testdata/bench.json")
if err != nil {
b.Fatal(err)
}
b.ResetTimer()
b.Run("typed_stdlib", func(b *testing.B) {
for i := 0; i < b.N; i++ {
if err := json.Unmarshal(data, &A{}); err != nil {
b.Fatal(err)
}
}
})
b.Run("untyped_stdlib", func(b *testing.B) {
for i := 0; i < b.N; i++ {
if err := json.Unmarshal(data, &map[string]interface{}{}); err != nil {
b.Fatal(err)
}
}
})
}
type A struct {
Int int `json:"int"`
Bool bool `json:"bool"`
String string `json:"string"`
StringMap map[string]string `json:"map"`
ObjectArray []A `json:"array"`
Small RegressionSmall `json:"small"`
Big RegressionBig `json:"big"`
Custom Custom `json:"custom"`
}
type RegressionSmall struct {
F01 string `json:"f01"`
F02 string `json:"f02"`
F03 string `json:"f03"`
F04 string `json:"f04"`
F05 string `json:"f05"`
F06 string `json:"f06"`
F07 string `json:"f07"`
F08 string `json:"f08"`
F09 string `json:"f09"`
F10 string `json:"f10"`
F11 string `json:"f11"`
F12 string `json:"f12"`
F13 string `json:"f13"`
F14 string `json:"f14"`
F15 string `json:"f15"`
F16 string `json:"f16"`
F17 string `json:"f17"`
F18 string `json:"f18"`
F19 string `json:"f19"`
F20 string `json:"f20"`
F21 string `json:"f21"`
F22 string `json:"f22"`
F23 string `json:"f23"`
F24 string `json:"f24"`
F25 string `json:"f25"`
F26 string `json:"f26"`
F27 string `json:"f27"`
F28 string `json:"f28"`
F29 string `json:"f29"`
F30 string `json:"f30"`
F31 string `json:"f31"`
F32 string `json:"f32"`
F33 string `json:"f33"`
F34 string `json:"f34"`
F35 string `json:"f35"`
F36 string `json:"f36"`
F37 string `json:"f37"`
F38 string `json:"f38"`
F39 string `json:"f39"`
F40 string `json:"f40"`
F41 string `json:"f41"`
F42 string `json:"f42"`
F43 string `json:"f43"`
F44 string `json:"f44"`
F45 string `json:"f45"`
F46 string `json:"f46"`
F47 string `json:"f47"`
F48 string `json:"f48"`
F49 string `json:"f49"`
F50 string `json:"f50"`
F51 string `json:"f51"`
F52 string `json:"f52"`
F53 string `json:"f53"`
F54 string `json:"f54"`
F55 string `json:"f55"`
F56 string `json:"f56"`
F57 string `json:"f57"`
F58 string `json:"f58"`
F59 string `json:"f59"`
F60 string `json:"f60"`
F61 string `json:"f61"`
F62 string `json:"f62"`
F63 string `json:"f63"`
F64 string `json:"f64"`
}
type RegressionBig struct {
F01 string `json:"f01"`
F02 string `json:"f02"`
F03 string `json:"f03"`
F04 string `json:"f04"`
F05 string `json:"f05"`
F06 string `json:"f06"`
F07 string `json:"f07"`
F08 string `json:"f08"`
F09 string `json:"f09"`
F10 string `json:"f10"`
F11 string `json:"f11"`
F12 string `json:"f12"`
F13 string `json:"f13"`
F14 string `json:"f14"`
F15 string `json:"f15"`
F16 string `json:"f16"`
F17 string `json:"f17"`
F18 string `json:"f18"`
F19 string `json:"f19"`
F20 string `json:"f20"`
F21 string `json:"f21"`
F22 string `json:"f22"`
F23 string `json:"f23"`
F24 string `json:"f24"`
F25 string `json:"f25"`
F26 string `json:"f26"`
F27 string `json:"f27"`
F28 string `json:"f28"`
F29 string `json:"f29"`
F30 string `json:"f30"`
F31 string `json:"f31"`
F32 string `json:"f32"`
F33 string `json:"f33"`
F34 string `json:"f34"`
F35 string `json:"f35"`
F36 string `json:"f36"`
F37 string `json:"f37"`
F38 string `json:"f38"`
F39 string `json:"f39"`
F40 string `json:"f40"`
F41 string `json:"f41"`
F42 string `json:"f42"`
F43 string `json:"f43"`
F44 string `json:"f44"`
F45 string `json:"f45"`
F46 string `json:"f46"`
F47 string `json:"f47"`
F48 string `json:"f48"`
F49 string `json:"f49"`
F50 string `json:"f50"`
F51 string `json:"f51"`
F52 string `json:"f52"`
F53 string `json:"f53"`
F54 string `json:"f54"`
F55 string `json:"f55"`
F56 string `json:"f56"`
F57 string `json:"f57"`
F58 string `json:"f58"`
F59 string `json:"f59"`
F60 string `json:"f60"`
F61 string `json:"f61"`
F62 string `json:"f62"`
F63 string `json:"f63"`
F64 string `json:"f64"`
F65 string `json:"f65"`
}
type Custom struct{}
func (c *Custom) UnmarshalJSON(data []byte) error {
return nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment