base64 encoding with simd-support #27433
Labels
area-System.Runtime
enhancement
Product code improvement that does NOT require public API changes/additions
tenet-performance
Performance related issue
Milestone
I've prototyped base64 encoding with SSE2 / SSSE3 support here.
The input, that can't be processed via simd, is handled with the current default encoded.
Numbers look quite promising:
The code is based and inspired on https://github.com/aklomp/base64 wich is licensed under BSD 2-Clause "Simplified" License. So can this code be used here in corefx under the terms of the license?
Should I pursue this approach and finally submit a PR?
An AVX2 variant was also prototyped, but some intrinsics like
PermuteVar8x32
are WIP, so AVX2 wasn't pursued further, but it can be on the landscape too.In my prototype right now there is only encoding. But for decoding Klomp has code too, so it could be incorporated, so that both encoding and decoding could be done with simd-support.
This is somewhat tracked in https://github.com/dotnet/coreclr/issues/15506#issuecomment-351498311
/cc: @ahsonkhan
The text was updated successfully, but these errors were encountered: