aklomp / base64

Fast Base64 stream encoder/decoder in C99, with SIMD acceleration
BSD 2-Clause "Simplified" License
866 stars 162 forks source link

Encoders: unroll inner loops #61

Closed aklomp closed 4 years ago

aklomp commented 4 years ago

The transformation of encoder kernels to inline functions (#58) allows us to move the inner encoding loop into separate inline functions.

Because the number of remaining loop iterations is known, we can split calls to the inner loop into long unrolled stretches. Tests show that this can result in a significant speedup.