Repository navigation
API
encrypt_blocks/decrypt_blocksvariants have been renamed to_chunksto better reflect their intended usage.encrypt/decrypt/encrypt_par/decrypt_parare 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.