-
Notifications
You must be signed in to change notification settings - Fork 72
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
Measure time spent in SHA2, SHA3, and randombytes #29
Comments
I don't really see why we couldn't account for that. We're already doing that for counting cycles in There's also this approach to profiling applications with |
On Mon, Oct 22, 2018 at 03:10:41PM -0700, Ko- wrote:
I don't really see why we couldn't account for that. We're already doing that for counting cycles in `speed.c` with `systick`, right? Every overflow triggers an interrupt and those are counted. Of course this logic has some overhead, but if it only happens every 2.400.000 cycles then that shouldn't be very significant.
You are absolutely right - we just need to check if there was an overflow at the end of each call.
|
As in our recent paper, it would be nice to have some profiling information on how much time is spent in hashing and
randombytes
.This should also give an intuition how the schemes sample randomness.
We implemented this by adding/subtracting the current cycle count to a global variable when entering/leaving the respective function. This should be done only for profiling, but not in the benchmarks since it can have a huge performance impact. It would be nice to port that to PQM4.
In case we want to use
systick
for this, then we will run into the problem that if the overflow occurs within one of the profiled functions the cycle counts are useless. In our paper experiments, we just detected this case and ran it several times until we had no overflow there - this won't work for SPHINCS.The text was updated successfully, but these errors were encountered: