Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to using C++20's std::span -based Interface #16

Merged
merged 27 commits into from
Jan 13, 2024

Conversation

itzmeanjan
Copy link
Owner

@itzmeanjan itzmeanjan commented Jan 11, 2024

  • Rewrite Sphincs+ to use C++20's std::span based interface
  • Update all tests and benchmarks
  • Update benchmarks results

…ir own header file and namespace

Signed-off-by: Anjan Roy <[email protected]>
…, when benchmarking the header-only library implementation

Signed-off-by: Anjan Roy <[email protected]>
… and verify functions for various instantiations of Sphincs+

Signed-off-by: Anjan Roy <[email protected]>
…ure, to downstream functions

Signed-off-by: Anjan Roy <[email protected]>
Didn't handle the case *correctly*, if resulting byte array has lesser (i.e. <=4) byte length compared to byte length of source word (32 -bit).

Signed-off-by: Anjan Roy <[email protected]>
Add benchmark results from Raspberry Pi 4B

Signed-off-by: Anjan Roy <[email protected]>
Seeing *huge* 🚀 improvements

Signed-off-by: Anjan Roy <[email protected]>
@itzmeanjan
Copy link
Owner Author

itzmeanjan commented Jan 13, 2024

Commit 95ad1be, brings huge performance improvements in running time of tests.

BEFORE Taking ~1583.025 seconds to run all 27 tests.

Screenshot from 2024-01-13 14-22-33

AFTER Taking ~529.956 seconds to run equal many tests.

Screenshot from 2024-01-13 14-24-17

That's ~66.52% reduction in running time of tests. Seeing this result on a x86_64 machine with 16 online CPUs, running GNU/ Linux kernel 6.5.0-14-generic.

@itzmeanjan itzmeanjan merged commit 9e76ee0 into master Jan 13, 2024
2 checks passed
@itzmeanjan itzmeanjan deleted the switch-to-using-std-span branch January 13, 2024 11:21
itzmeanjan added a commit that referenced this pull request Jan 23, 2024
Switch to using C++20's `std::span` -based Interface
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.

1 participant