Skip to content

Instantly share code, notes, and snippets.

@ReneHollander
Created October 29, 2023 13:14
Show Gist options
  • Save ReneHollander/fd275af2b8a566fd95d163e9002b6e07 to your computer and use it in GitHub Desktop.
Save ReneHollander/fd275af2b8a566fd95d163e9002b6e07 to your computer and use it in GitHub Desktop.
hand rolled parser performance
│ Parse │ ParseNative │ ParseCustom │
│ sec/op │ sec/op vs base │ sec/op vs base │
*/compress,_gzip 6688.0n ± 6% 5362.0n ± 2% -19.83% (p=0.000 n=10) 184.9n ± 1% -97.24% (p=0.000 n=10)
*/#00 844.50n ± 3% 994.80n ± 2% +17.80% (p=0.001 n=10) 21.79n ± 0% -97.42% (p=0.000 n=10)
*/identity 2554.00n ± 9% 2520.50n ± 2% ~ (p=0.271 n=10) 97.27n ± 2% -96.19% (p=0.000 n=10)
*/br;q=0.555 5293.5n ± 2% 4208.5n ± 2% -20.50% (p=0.000 n=10) 150.0n ± 0% -97.17% (p=0.000 n=10)
*/br;q=0.0 5215.0n ± 4% 4124.0n ± 1% -20.92% (p=0.000 n=10) 144.2n ± 1% -97.24% (p=0.000 n=10)
*/br;q=1.0 5242.5n ± 9% 4167.0n ± 4% -20.52% (p=0.000 n=10) 145.8n ± 0% -97.22% (p=0.000 n=10)
*/br,gzip 5426.5n ± 1% 4853.0n ± 2% -10.57% (p=0.000 n=10) 178.4n ± 2% -96.71% (p=0.000 n=10)
*/br,____gzip 6433.5n ± 1% 5229.0n ± 1% -18.72% (p=0.000 n=10) 183.9n ± 3% -97.14% (p=0.000 n=10)
*/br,_gzip 6397.5n ± 0% 5215.0n ± 2% -18.48% (p=0.000 n=10) 179.5n ± 2% -97.19% (p=0.000 n=10)
*/br 2728.00n ± 0% 2583.50n ± 2% -5.30% (p=0.000 n=10) 93.06n ± 3% -96.59% (p=0.000 n=10)
*/gzip;q=1.0,_identity;_q=0.5,_*;q=0 18195.5n ± 1% 12432.0n ± 1% -31.68% (p=0.000 n=10) 381.1n ± 2% -97.91% (p=0.000 n=10)
*/compress;q=0.5,_gzip;q=1.0 11622.0n ± 2% 7982.5n ± 1% -31.32% (p=0.000 n=10) 271.4n ± 4% -97.67% (p=0.000 n=10)
*/* 2739.50n ± 2% 2641.50n ± 1% -3.58% (p=0.000 n=10) 67.50n ± 2% -97.54% (p=0.000 n=10)
geomean 4.810µ 4.081µ -15.14% 134.5n -97.20%
│ Parse │ ParseNative │ ParseCustom │
│ B/op │ B/op vs base │ B/op vs base │
*/compress,_gzip 5720.0 ± 0% 5912.0 ± 0% +3.36% (p=0.000 n=10) 128.0 ± 0% -97.76% (p=0.000 n=10)
*/#00 1216.00 ± 0% 1472.00 ± 0% +21.05% (p=0.000 n=10) 24.00 ± 0% -98.03% (p=0.000 n=10)
*/identity 2744.00 ± 0% 2984.00 ± 0% +8.75% (p=0.000 n=10) 72.00 ± 0% -97.38% (p=0.000 n=10)
*/br;q=0.555 4408.00 ± 0% 4520.00 ± 0% +2.54% (p=0.000 n=10) 80.00 ± 0% -98.19% (p=0.000 n=10)
*/br;q=0.0 4408.00 ± 0% 4520.00 ± 0% +2.54% (p=0.000 n=10) 80.00 ± 0% -98.19% (p=0.000 n=10)
*/br;q=1.0 4408.00 ± 0% 4520.00 ± 0% +2.54% (p=0.000 n=10) 80.00 ± 0% -98.19% (p=0.000 n=10)
*/br,gzip 4968.0 ± 0% 5176.0 ± 0% +4.19% (p=0.000 n=10) 128.0 ± 0% -97.42% (p=0.000 n=10)
*/br,____gzip 5720.0 ± 0% 5912.0 ± 0% +3.36% (p=0.000 n=10) 128.0 ± 0% -97.76% (p=0.000 n=10)
*/br,_gzip 5720.0 ± 0% 5912.0 ± 0% +3.36% (p=0.000 n=10) 128.0 ± 0% -97.76% (p=0.000 n=10)
*/br 2600.00 ± 0% 2840.00 ± 0% +9.23% (p=0.000 n=10) 72.00 ± 0% -97.23% (p=0.000 n=10)
*/gzip;q=1.0,_identity;_q=0.5,_*;q=0 15120.0 ± 0% 14864.0 ± 0% -1.69% (p=0.000 n=10) 208.0 ± 0% -98.62% (p=0.000 n=10)
*/compress;q=0.5,_gzip;q=1.0 8824.0 ± 0% 8760.0 ± 0% -0.73% (p=0.000 n=10) 144.0 ± 0% -98.37% (p=0.000 n=10)
*/* 2904.00 ± 0% 3144.00 ± 0% +8.26% (p=0.000 n=10) 56.00 ± 0% -98.07% (p=0.000 n=10)
geomean 4.345Ki 4.562Ki +4.99% 90.84 -97.96%
│ Parse │ ParseNative │ ParseCustom │
│ allocs/op │ allocs/op vs base │ allocs/op vs base │
*/compress,_gzip 79.000 ± 0% 77.000 ± 0% -2.53% (p=0.000 n=10) 7.000 ± 0% -91.14% (p=0.000 n=10)
*/#00 14.000 ± 0% 16.000 ± 0% +14.29% (p=0.000 n=10) 1.000 ± 0% -92.86% (p=0.000 n=10)
*/identity 39.000 ± 0% 40.000 ± 0% +2.56% (p=0.000 n=10) 4.000 ± 0% -89.74% (p=0.000 n=10)
*/br;q=0.555 65.000 ± 0% 62.000 ± 0% -4.62% (p=0.000 n=10) 5.000 ± 0% -92.31% (p=0.000 n=10)
*/br;q=0.0 65.000 ± 0% 62.000 ± 0% -4.62% (p=0.000 n=10) 5.000 ± 0% -92.31% (p=0.000 n=10)
*/br;q=1.0 65.000 ± 0% 62.000 ± 0% -4.62% (p=0.000 n=10) 5.000 ± 0% -92.31% (p=0.000 n=10)
*/br,gzip 73.000 ± 0% 72.000 ± 0% -1.37% (p=0.000 n=10) 7.000 ± 0% -90.41% (p=0.000 n=10)
*/br,____gzip 79.000 ± 0% 77.000 ± 0% -2.53% (p=0.000 n=10) 7.000 ± 0% -91.14% (p=0.000 n=10)
*/br,_gzip 79.000 ± 0% 77.000 ± 0% -2.53% (p=0.000 n=10) 7.000 ± 0% -91.14% (p=0.000 n=10)
*/br 39.000 ± 0% 40.000 ± 0% +2.56% (p=0.000 n=10) 4.000 ± 0% -89.74% (p=0.000 n=10)
*/gzip;q=1.0,_identity;_q=0.5,_*;q=0 196.00 ± 0% 178.00 ± 0% -9.18% (p=0.000 n=10) 12.00 ± 0% -93.88% (p=0.000 n=10)
*/compress;q=0.5,_gzip;q=1.0 128.000 ± 0% 118.000 ± 0% -7.81% (p=0.000 n=10) 9.000 ± 0% -92.97% (p=0.000 n=10)
*/* 40.000 ± 0% 41.000 ± 0% +2.50% (p=0.000 n=10) 3.000 ± 0% -92.50% (p=0.000 n=10)
geomean 62.26 61.30 -1.54% 5.094 -91.82%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment