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

Pick a benchmarking system #36

Closed
Tracked by #15
franziskuskiefer opened this issue Feb 3, 2022 · 2 comments
Closed
Tracked by #15

Pick a benchmarking system #36

franziskuskiefer opened this issue Feb 3, 2022 · 2 comments
Labels

Comments

@franziskuskiefer
Copy link
Member

franziskuskiefer commented Feb 3, 2022

@franziskuskiefer
Copy link
Member Author

Google benchmarks

We'll go with google benchmarks, fitting nicely with the gtests we use already.
They don't count cycles but should be good enough to get quick responses and ensure that we are not regressing performance.

---------------------------------------------------------------------
Benchmark                           Time             CPU   Iterations
---------------------------------------------------------------------
BM_Chacha20_32_encrypt           1553 ns         1553 ns       427520
BM_Chacha20_Vec128_encrypt        824 ns          824 ns       851260

They also allow for easy comparison of benchmarks and hence finding regressions.

Comparing chacha_bench.json to build/Release/chacha20
Benchmark                                    Time             CPU      Time Old      Time New       CPU Old       CPU New
-------------------------------------------------------------------------------------------------------------------------
BM_Chacha20_32_encrypt                    +0.0223         +0.0222          1519          1553          1519          1553
BM_Chacha20_Vec128_encrypt                +0.0166         +0.0166           811           824           811           824
OVERALL_GEOMEAN                           +0.0192         +0.0189             0             0             0             0

#74 sets up the basics but needs cleanup before merging.

@franziskuskiefer
Copy link
Member Author

Done in #74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

1 participant