Skip to content

Conversation

@lemire
Copy link
Member

@lemire lemire commented Dec 29, 2025

Short title (summary):
Enable the runtime dispatching for Loongson kernels, disable by default the LASX kernel and optimize the base64 decoding

Description
It turns out that runtime dispatching for Loongson kernels never worked, so that LSX was the sole default. This was fine, but I have tweaked the code to make dispatching work.

I have also improve the performance of the base64 decoding in the two kernels by special casing the sole ignorable character case (our other kernels have this optimization). This makes the performance go from 4 GB/s to 4.75 GB/s in some cases so it is definitely worth having. (@WojciechMula first designed this optimization, I just ported it.)

I am also fixing a C++11 issue: our Loongson kernels required C++14 to be strict about it.

Type of change

  • Bug fix
  • Optimization
  • New feature
  • Refactor / cleanup
  • Documentation / tests
  • Other (please describe):

@lemire lemire merged commit 0f771de into master Jan 13, 2026
100 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants