-
Notifications
You must be signed in to change notification settings - Fork 3
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
Restructure criterion benchmarks into groups #8
Conversation
Another thing to note is that I have the lengths going from |
Looks good! Maybe we could hit the powers of two? 32..64..128? And what do you think about using throughput as the y-axis for the plot? |
@LaihoE Hi, I just finished restructuring the rest of the benchmarks. That took longer than I expected! I should have looked into using macros or something, but I figure this is okay for now. At this point I think a few things need to be reviewed/scrutinized:
Excited to hear your thoughts! Thank you! |
@smu160 Looks great thanks for the big effort! As for the plots, I found them to not be so flexible/aesthetically pleasing and was why I went with python originally. Tbh idk what to do here. As for testing lengths: Might as-well test them all? also (1 << 11) is not very large, I think we could go much bigger. My cpu has for example the following cache sizes: 64 KB L1 cache = 64 000 bytes |
@LaihoE I think we can have both. The benchmarks a structured a bit better now for many reasons. For example, you can now easily filter out benchmarks specific to what you want. For example: cargo bench -- all-equal-u8/SIMD will run all the The aesthetics of criterion plots isn't ideal, so we can use a python script to parse the json output and plot it using With respect to slice sizes, I can just hardcode a few lengths that includes power of twos, non-power-of-twos, primes, etc. |
Hi @LaihoE,
This is just a draft PR, but the gist of it is that we can restructure the benchmarks such that
criterion
automatically produces the charts for us (please see the attached screenshot). You can see this after you runcargo bench
and then opentarget/criterion/all-equal-u8/report/index.html
in your browser.Let me know yours thoughts. Thank you!!