-
Notifications
You must be signed in to change notification settings - Fork 9
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
PERF-#367: Use std::fill to fill service shared buffer with a given value #373
Conversation
c363fd6
to
2bc6034
Compare
Here are some results running the reproducer with and without changes.
####Current Master############ ###This pull request ########## removing this line to check. CPU tested Model name: Intel(R) Xeon(R) Platinum 8276L CPU @ 2.20GHz |
c18551f
to
6382d53
Compare
@@ -170,6 +170,7 @@ def monitor_loop(): | |||
The loop exits on special cancelation operation. | |||
``unidist.core.backends.mpi.core.common.Operations`` defines a set of supported operations. | |||
""" | |||
monitor_logger.debug("Monitor loop started") |
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.
monitor_logger.debug("Monitor loop started") |
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.
Added this looging line here so the init() function in root ends only after the monitor.log file is created and first log is written, Or this file creation step though not very time consuming happens after init() of the root process and could make the first put() slightly slower as the monitor will be ready to recv operations only after creating the logger file.
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.
Discussed offline and decided to apply suggestion.
Aside: Is the log file created on the first write or when we call get_logger?
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.
ping
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.
Verified again the log file is created when the "first write" is made.
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!
Signed-off-by: arunjose696 <[email protected]>
… the worker and monitor loops have started Signed-off-by: arunjose696 <[email protected]>
Co-authored-by: Iaroslav Igoshev <[email protected]>
e1ce634
to
8603282
Compare
8603282
to
bf646df
Compare
Please also rename the PR title and exclude the file |
Some perf measurements would also be helpful. |
Signed-off-by: Igoshev, Iaroslav <[email protected]>
Signed-off-by: Igoshev, Iaroslav <[email protected]>
What do these changes do?
In _allocate_shared_memory(self): function we are setting -1 to the service buffer because 0 is a valid value. This operation is a time consuming operation. Changing this to use numpy to speed up the step.
flake8 .
black .
git commit -s
docs/developer/architecture.rst
is up-to-date