-
Notifications
You must be signed in to change notification settings - Fork 370
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
Add standard and detailed timers for benchmarking purposes for NEST 2.20.2 #2086
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.
Doing a grep
of the code, I still find some GetKernelStatus('time')
/GetKernelStatus("time")
/GetKernelStatus()['time']
in documentation and examples. Can you update those as well? Other than that, and my comment below, it looks good.
nestkernel/nestmodule.cpp
Outdated
@@ -1511,6 +1521,8 @@ NestModule::Cvgidcollection_iaFunction::execute( SLIInterpreter* i ) const | |||
void | |||
NestModule::Cvgidcollection_ivFunction::execute( SLIInterpreter* i ) const | |||
{ | |||
kernel().connection_manager.sw_construction_connect.start(); |
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.
Good catch, thanks for the review. I addressed the issues that you raised. |
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.
Thanks, looks good now.
@ackurth: friendly ping! |
I ran a larger number of benchmarks, everything looked fined. |
This PR adds timer functionality to NEST 2.20.2. The usage and functionality is similar to what is implemented in PR #1778 and #2063 and addresses the issues raised in #1471.
These timers are implemented:
time_construction_create
(basic timer, always enabled)time_construction_connect
(basic timer, always enabled)time_simulate
(basic timer, always enabled)time_simulate:
time_update
time_gather_spike_data
time_gather_spike_data:
time_collocate_spike_data
time_communicate_spike_data
time_deliver_spike_data
time_communicate_prepare
(basic timer, always enabled)time_communicate_prepare:
time_gather_target_data
time_gather_target_data:
time_communicate_target_data