-
Notifications
You must be signed in to change notification settings - Fork 491
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
[Gazebo 11] Added ignition common profiler #2776
[Gazebo 11] Added ignition common profiler #2776
Conversation
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
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.
works for me. I have some minor comments about style and profile names.
CMakeLists.txt
Outdated
@@ -260,7 +268,7 @@ filter_valid_compiler_flags(${WARN_LEVEL} | |||
# Check and add visibility hidden by default. Only in UNIX | |||
# Windows and MacosX does not handled properly the hidden compilation | |||
if (UNIX AND NOT APPLE) | |||
filter_valid_compiler_flags(-fvisibility=hidden -fvisibility-inlines-hidden) | |||
filter_valid_compiler_flags(-fvisibility-inlines-hidden) |
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.
maybe @j-rivero can comment on whether this change would be a problem or not?
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.
friendly ping @j-rivero
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.
uh, the change is important. Symbols are exposed by default in the ABI unless the fvisibility=hidden
flag is provided. This change will increase the ABI size (with an impact on the loader performance) and expose many new symbols to the binary interface. Can we make it conditional somehow to keep the current ABI scheme?
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 a9230be
Signed-off-by: ahcorde <[email protected]>
latest changes look good to me. Just waiting to see if @j-rivero has any thoughts on whether or not it's ok to remove the |
gazebo/Server.cc
Outdated
sensors::stop(); | ||
IGN_PROFILE_END(); | ||
} | ||
|
||
common::Time::MSleep(1); |
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.
hmm...having a 1 ms sleep in the server runloop seems non-ideal
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.
I remember seeing this before and wondering why it's there 🧐
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.
I saw this while working on lockstepping. I tried removing the line but it caused some sensor tests to fail so I had to put it back in:
https://github.com/osrf/gazebo/pull/2746/files#diff-2e1da9464c22259ef9d9919412c42d2fR617
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.
I wonder if we can we change it to NSleep(1)
?
this should happen in a separate PR; I'll try creating a PR with this change
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
Signed-off-by: ahcorde <[email protected]>
latest changes look good. There are a few new code check errors found by running |
@iche033 Any trick to show only the new ones? |
oh I don't know a trick to show just the new errors. I just manually ran code check and checked the errors against the code. Here're the ones I see:
|
Signed-off-by: ahcorde <[email protected]>
* Added profiler to OdePhysics, sensors and some plugins Signed-off-by: ahcorde <[email protected]> * Added profiler to Physic engines: Bullet, DART and Simbody Signed-off-by: ahcorde <[email protected]> * Added profiler to plugins Signed-off-by: ahcorde <[email protected]> * Added more models to profiler.world Signed-off-by: ahcorde <[email protected]> * Add missing ; Signed-off-by: ahcorde <[email protected]> * Added option ENABLE_PROFILER to cmake Signed-off-by: ahcorde <[email protected]> * Used the same convention in all profiler calls Signed-off-by: ahcorde <[email protected]> * Added profiler to Event.hh Signed-off-by: ahcorde <[email protected]> * Fixed gazebo_common link against ignition_common Signed-off-by: ahcorde <[email protected]> * Added condition to use -fvisibility=hidden when profiler is disabled Signed-off-by: ahcorde <[email protected]> * make linters happy Signed-off-by: ahcorde <[email protected]>
I added profile points in ODEPhysics, sensors and some plugins
Here some snapshots:
there is a world called
profile.world
where you can reproduce these results.I had to change this line in the CMakeLists.txt to avoid create a Profile Singleton in each library. I can provide more details about this if necessary.
from
to
is this change creating a conflict with something specific?
Signed-off-by: ahcorde [email protected]