Skip to content

v2.0.1

Latest

Choose a tag to compare

@Thell Thell released this 06 Feb 20:49
Immutable release. Only release title and notes can be modified.

API

  • encrypt_blocks/decrypt_blocks variants have been renamed to _chunks to better reflect their intended usage.
  • encrypt/decrypt/encrypt_par/decrypt_par are no longer tied to single/parallel 8 byte blocks for processing. They now dispatch with the length appropriate block size automatically.

Internal

This version focused on restructuring the internal flow and layout in order to achieve compile‑time jump table specialization for every parameterized pathway. That specialization finally gives the compiler enough information to fully vectorize for auto, serial and parallel hot loops for chunk sizes where SIMD is beneficial (from AVX2 upwards). The jump tables also reduce overhead and make recursive tail handling efficient across all paths.

This has resulted in a 20% performance boost on a Ryzen 5700G and a 10% performance boost on a Ryzen 9 7950x when using the _auto pathway. The serial and parallel paths also improved in performance in varying degrees depending on the chunk sizes being benched.