base64

Fast Haskell base64 encoding/decoding (docs.ppad.tech/base64).
git clone git://git.ppad.tech/base64.git
Log | Files | Refs | README | LICENSE

commit b4dd9ff6c285bfb9db834cdcca3d460688c3297d
parent 5a89ef39a87510cfb42fef8356e1efd26d2c1f2e
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 16 May 2026 11:46:33 -0230

meta: benchmark figures from m4 macbook air

Captured with cabal bench -f+llvm on an Apple M4 MacBook Air, GHC
9.10.3 with the LLVM backend, on a 1024-byte input.

Diffstat:
MREADME.md | 19+++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md @@ -35,8 +35,23 @@ The aim is best-in-class performance for pure, highly-auditable Haskell code. We could go slightly faster by using direct allocation and writes, but we get pretty close to the best impure versions with only builders. -Benchmark figures will be added after running the suite on the standard -VPS (use `cabal bench` to run the benchmark suite). +Current benchmark figures on a 1024-byte input on an Apple M4 MacBook Air, +GHC 9.10.3 with the LLVM backend, look like (use `cabal bench` to run the +benchmark suite): + +``` + benchmarking ppad-base64/encode + time 2.279 μs (2.253 μs .. 2.316 μs) + 0.999 R² (0.998 R² .. 1.000 R²) + mean 2.284 μs (2.270 μs .. 2.308 μs) + std dev 74.77 ns (50.21 ns .. 124.4 ns) + + benchmarking ppad-base64/decode + time 649.2 ns (637.2 ns .. 659.0 ns) + 0.998 R² (0.997 R² .. 0.999 R²) + mean 618.5 ns (611.8 ns .. 625.5 ns) + std dev 29.46 ns (25.76 ns .. 35.06 ns) +``` ## Security