-
Notifications
You must be signed in to change notification settings - Fork 486
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
Implement some basic benchmarking for seed generation #4353
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main point of feedback on the concept would be to separate the concept of the timings from rando. So that any future code could take advantage of it.
Ideally the only thing you should see in the rando code would be like
PerfStart("[Rando] Seed Generation");
PerfStart("[Rando] Logic");
…
PerfStart("[Rando] Helpers");
…
PerfEnd("[Rando] Helpers");
…
PerfEnd("[Rando] Logic");
PerfStart("[Rando] Entrances");
…
PerfEnd("[Rando] Entrances");
PerfEnd("[Rando] Seed Generation");
You could also use enums and map those to a string for the log output if you don’t want to do string comparison
Sounds good, I did admit this is a messy WIP, and it looks like there's issues with how I used Chrono on other platforms, I just wanted to make sure my data was good as the amount of time seemingly taken by UpdateHandlers is shocking. |
Adds some rough benchmarking to seed generation, Includes both timers that are logged and a benchmarking settings preset to help keep things consistent.
Build Artifacts