Skip to content

mcy/vb64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vb64

Fast, SIMD base64 codecs.

This crate implements base64 encoding and decoding as fast as possible. To get maximum performance, compile with -Ctarget-cpu=native and -Zbuild-std, which will ensure ideal instruction selection.

The following is a perf comparison with the base64 crate on a Zen 2 machine using AVX2 instructions; lower is better.

perf comparison with base64

On a Zen 2 machine and compiling with AVX2 support, decoding is between 2x to 2.5x faster than base64, while encoding is around 1.2x to 1.5x faster; with only SSSE3, decoding performance is even with base64 and encoding is much worse.

It is relatively unlikely that base64 decoding is such a massive bottleneck for your application that this matters, unless you're parsing base64 blobs embedded in JSON; you may want to consider using a binary format like Protobuf instead.

Also this crate uses std::simd so it requires nightly.

License: Apache-2.0

Releases

No releases published

Packages

No packages published

Languages