-
Notifications
You must be signed in to change notification settings - Fork 51
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
Improved timing mechanism #69
Conversation
Another thought I had is to move these |
3232661
to
de42147
Compare
I've made the following changes and think this is probably ready for review for merging into
TODO from @kllrak (whenever you get the chance):
|
8d98c33
to
4d9d1ba
Compare
7c2d021
to
974e6f1
Compare
- Prepare for breaking out adaptive driven solver timing. - Make Timer record how many times we mark time for a particular binning. - Clean up Timer::Print function.
- In the previous model, a `Timer` object was passed around, and timing properly across function boundaries was the responsibility of the developer. This had the potential to make reasoning about timing difficult and brittle when refactoring (when was last `timer.Lap()` call?) - In the new model, a `TimerBlock` object keeps track of timing for a category so long as it is in scope. Details in developer docs.
- Avoids making copy of static `Timer` object to finalize. - Changes Timer::Now() to be static member function. - Save printing of frequency sample selection and HDM solve timing until end of log file like everything else. - Note that there's no way to access timing data anymore until it is saved in `BlockTimer::Finalize`.
…d coarse solve, wave ports, and clarify adaptive driven timing categories
…mer for printing of final results, add another level of structure to timing data in metadata JSON
…ompiler warning for constexpr variable
974e6f1
to
5a19288
Compare
Description of changes: Improves the timer mechanism as described in the developer docs, adds two timing categories, and saves timer counts to metadata JSON file.
Issue #, if available: Resolves #43 (although further improvements may be expected).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute
this contribution, under the terms of your choice.