Skip to content

Instantly share code, notes, and snippets.

@lmb
Created May 5, 2023 16:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lmb/4477812588a5ac23e0b58f5f780b383d to your computer and use it in GitHub Desktop.
Save lmb/4477812588a5ac23e0b58f5f780b383d to your computer and use it in GitHub Desktop.
goos: darwin
goarch: arm64
pkg: encoding/binary
│ master.txt │ noescape.txt │
│ sec/op │ sec/op vs base │
ReadSlice1000Int32s-10 2.570µ ± 2% 2.563µ ± 1% ~ (p=0.167 n=6)
ReadStruct-10 201.9n ± 0% 200.1n ± 0% -0.84% (p=0.002 n=6)
WriteStruct-10 183.1n ± 0% 192.4n ± 5% +5.08% (p=0.002 n=6)
ReadInts-10 163.9n ± 1% 160.7n ± 1% -1.95% (p=0.002 n=6)
WriteInts-10 185.8n ± 1% 138.6n ± 0% -25.36% (p=0.002 n=6)
WriteSlice1000Int32s-10 2.650µ ± 1% 2.706µ ± 0% +2.13% (p=0.002 n=6)
PutUint16-10 0.6266n ± 1% 0.6211n ± 1% -0.87% (p=0.009 n=6)
AppendUint16-10 1.434n ± 1% 1.425n ± 0% ~ (p=0.054 n=6)
PutUint32-10 0.6317n ± 1% 0.6216n ± 0% -1.60% (p=0.002 n=6)
AppendUint32-10 1.426n ± 1% 1.425n ± 0% ~ (p=0.530 n=6)
PutUint64-10 0.6220n ± 3% 0.6215n ± 0% -0.07% (p=0.013 n=6)
AppendUint64-10 1.411n ± 0% 1.425n ± 0% +1.03% (p=0.002 n=6)
LittleEndianPutUint16-10 0.6210n ± 1% 0.6210n ± 0% ~ (p=0.788 n=6)
LittleEndianAppendUint16-10 1.420n ± 0% 1.425n ± 0% +0.35% (p=0.002 n=6)
LittleEndianPutUint32-10 0.6210n ± 0% 0.6209n ± 0% ~ (p=0.219 n=6)
LittleEndianAppendUint32-10 1.420n ± 0% 1.425n ± 0% +0.35% (p=0.002 n=6)
LittleEndianPutUint64-10 0.6211n ± 0% 0.6209n ± 0% ~ (p=0.095 n=6)
LittleEndianAppendUint64-10 1.420n ± 0% 1.425n ± 0% +0.35% (p=0.002 n=6)
ReadFloats-10 39.70n ± 1% 40.95n ± 0% +3.15% (p=0.002 n=6)
WriteFloats-10 48.04n ± 0% 34.35n ± 0% -28.50% (p=0.002 n=6)
ReadSlice1000Float32s-10 2.649µ ± 0% 2.624µ ± 0% -0.96% (p=0.002 n=6)
WriteSlice1000Float32s-10 2.695µ ± 0% 2.795µ ± 0% +3.71% (p=0.002 n=6)
ReadSlice1000Uint8s-10 154.2n ± 1% 133.5n ± 2% -13.42% (p=0.002 n=6)
WriteSlice1000Uint8s-10 141.0n ± 5% 149.8n ± 2% +6.21% (p=0.002 n=6)
PutUvarint32-10 12.12n ± 0% 12.18n ± 1% +0.45% (p=0.041 n=6)
PutUvarint64-10 30.74n ± 0% 30.91n ± 1% +0.57% (p=0.041 n=6)
geomean 17.96n 17.54n -2.34%
│ master.txt │ noescape.txt │
│ B/s │ B/s vs base │
ReadSlice1000Int32s-10 1.450Gi ± 2% 1.454Gi ± 1% ~ (p=0.180 n=6)
ReadStruct-10 354.3Mi ± 0% 357.3Mi ± 0% +0.83% (p=0.002 n=6)
WriteStruct-10 390.6Mi ± 0% 371.8Mi ± 4% -4.82% (p=0.002 n=6)
ReadInts-10 174.6Mi ± 1% 178.1Mi ± 1% +2.00% (p=0.002 n=6)
WriteInts-10 154.0Mi ± 1% 206.3Mi ± 0% +33.95% (p=0.002 n=6)
WriteSlice1000Int32s-10 1.406Gi ± 1% 1.377Gi ± 0% -2.08% (p=0.002 n=6)
PutUint16-10 2.973Gi ± 1% 2.999Gi ± 1% +0.87% (p=0.009 n=6)
AppendUint16-10 1.299Gi ± 1% 1.307Gi ± 0% ~ (p=0.065 n=6)
PutUint32-10 5.897Gi ± 1% 5.993Gi ± 0% +1.62% (p=0.002 n=6)
AppendUint32-10 2.612Gi ± 1% 2.613Gi ± 0% ~ (p=0.485 n=6)
PutUint64-10 11.98Gi ± 3% 11.99Gi ± 0% +0.07% (p=0.015 n=6)
AppendUint64-10 5.279Gi ± 0% 5.227Gi ± 0% -0.98% (p=0.002 n=6)
LittleEndianPutUint16-10 2.999Gi ± 1% 2.999Gi ± 0% ~ (p=0.818 n=6)
LittleEndianAppendUint16-10 1.312Gi ± 0% 1.307Gi ± 0% -0.35% (p=0.002 n=6)
LittleEndianPutUint32-10 5.998Gi ± 0% 6.000Gi ± 0% ~ (p=0.240 n=6)
LittleEndianAppendUint32-10 2.624Gi ± 0% 2.614Gi ± 0% -0.35% (p=0.002 n=6)
LittleEndianPutUint64-10 12.00Gi ± 0% 12.00Gi ± 0% +0.04% (p=0.041 n=6)
LittleEndianAppendUint64-10 5.247Gi ± 0% 5.228Gi ± 0% -0.35% (p=0.002 n=6)
ReadFloats-10 288.3Mi ± 1% 279.5Mi ± 0% -3.05% (p=0.002 n=6)
WriteFloats-10 238.2Mi ± 0% 333.2Mi ± 0% +39.85% (p=0.002 n=6)
ReadSlice1000Float32s-10 1.406Gi ± 0% 1.420Gi ± 0% +0.98% (p=0.002 n=6)
WriteSlice1000Float32s-10 1.382Gi ± 0% 1.333Gi ± 0% -3.58% (p=0.002 n=6)
ReadSlice1000Uint8s-10 6.040Gi ± 1% 6.977Gi ± 2% +15.50% (p=0.002 n=6)
WriteSlice1000Uint8s-10 6.606Gi ± 4% 6.218Gi ± 2% -5.87% (p=0.002 n=6)
PutUvarint32-10 314.8Mi ± 0% 313.3Mi ± 1% -0.51% (p=0.026 n=6)
PutUvarint64-10 248.2Mi ± 0% 246.8Mi ± 1% ~ (p=0.063 n=6)
geomean 1.501Gi 1.537Gi +2.39%
│ master.txt │ noescape.txt │
│ B/op │ B/op vs base │
ReadSlice1000Int32s-10 4.023Ki ± 0% 4.000Ki ± 0% -0.58% (p=0.002 n=6)
ReadStruct-10 80.00 ± 0% 80.00 ± 0% ~ (p=1.000 n=6) ¹
WriteStruct-10 80.00 ± 0% 80.00 ± 0% ~ (p=1.000 n=6) ¹
ReadInts-10 32.00 ± 0% 32.00 ± 0% ~ (p=1.000 n=6) ¹
WriteInts-10 64.00 ± 0% 32.00 ± 0% -50.00% (p=0.002 n=6)
WriteSlice1000Int32s-10 4.023Ki ± 0% 4.000Ki ± 0% -0.58% (p=0.002 n=6)
PutUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
ReadFloats-10 16.00 ± 0% 16.00 ± 0% ~ (p=1.000 n=6) ¹
WriteFloats-10 24.00 ± 0% 16.00 ± 0% -33.33% (p=0.002 n=6)
ReadSlice1000Float32s-10 4.023Ki ± 0% 4.000Ki ± 0% -0.58% (p=0.002 n=6)
WriteSlice1000Float32s-10 4.023Ki ± 0% 4.000Ki ± 0% -0.58% (p=0.002 n=6)
ReadSlice1000Uint8s-10 1.023Ki ± 0% 1.000Ki ± 0% -2.29% (p=0.002 n=6)
WriteSlice1000Uint8s-10 1.023Ki ± 0% 1.000Ki ± 0% -2.29% (p=0.002 n=6)
PutUvarint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUvarint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² -4.39% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ master.txt │ noescape.txt │
│ allocs/op │ allocs/op vs base │
ReadSlice1000Int32s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
ReadStruct-10 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
WriteStruct-10 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
ReadInts-10 8.000 ± 0% 8.000 ± 0% ~ (p=1.000 n=6) ¹
WriteInts-10 14.000 ± 0% 8.000 ± 0% -42.86% (p=0.002 n=6)
WriteSlice1000Int32s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
PutUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
AppendUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint16-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianPutUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
LittleEndianAppendUint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
ReadFloats-10 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹
WriteFloats-10 4.000 ± 0% 2.000 ± 0% -50.00% (p=0.002 n=6)
ReadSlice1000Float32s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
WriteSlice1000Float32s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
ReadSlice1000Uint8s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
WriteSlice1000Uint8s-10 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.002 n=6)
PutUvarint32-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
PutUvarint64-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² -18.79% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment