While building PageSift (a Rust web-content engine for LLM pipelines), I kept hitting Base64 in places where throughput and allocation control actually matter: browser screenshots, MCP resources, proxy authentication. The codec that grew inside PageSift is now its own MIT-licensed library: yolow64.
- Runtime-dispatched SIMD: AVX2 (with an assembly bulk decode loop on Linux x86-64), NEON on AArch64, scalar fallback; runtime detection is cached.
- Zero runtime dependencies, std only, Rust 1.89+.
- Slice / append / owned-output APIs, validation without decoding, streaming decode, and a one-shot data-URL builder.
- Whitespace-tolerant mode ignores exactly space/tab/CR/LF in a single pass — built for MIME-style input.
Measured on an i7-10700 (same process, three full runs, medians of seven-round medians; full method, charts and raw CSVs in the repo):
- Strict mode at 4 KiB–4 MiB: ~6.5–9× faster than the
base64crate, ~1.7–2.5× faster thanbase64-simd, encode and decode. - CRLF-tolerant decode: ~4× faster than base64-simd's
forgiving_decodeat the same sizes. - On the same machine it runs level with moego, the fastest Go implementation I measured.
- Honest footnote: at ≤128 B inputs the three libraries trade wins — those differences are nanoseconds and noise-sensitive, and the repo's tables print them as-is. The whitespace modes also don't accept exactly the same inputs across libraries; the comparison covers valid padded CRLF inputs.
[dependencies] yolow64 = "0.1" Repo: https://github.com/YOLOW92/yolow64 — benchmarks are reproducible from the included harness; corrections welcome.
