Skip to content
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

Remove obsolete load_manifest #165

Open
wants to merge 1 commit into
base: melodic-devel
Choose a base branch
from

Conversation

heuristicus
Copy link

@heuristicus heuristicus commented Nov 4, 2020

I've been doing some profiling on node startup time, and have noticed that loading the manifest is one of the time consuming steps, taking about 0.4-0.5 seconds when a node uses dynamic reconfigure.

A tiny python script to show this:

import cProfile
pr = cProfile.Profile()
pr.enable()

import dynamic_reconfigure.client

pr.disable()
pr.dump_stats("dynamic_reconfigure.stats")

After running the file the stats can be viewed with snakeviz. Below is the resulting visualisation:

Screenshot_2020-11-04 dynamic_reconfigure

I believe that loading the manifest is no longer necessary for catkin packages. I saw this same time consumption in the tf2_ros package, and in recent versions (0.6.6), the manifest loading has been removed as per ros/geometry2#404.

These same changes can probably be added to the noetic branch as well.

@furushchev
Copy link

Is there any update on this?
roslib.load_manifest do nothing now in noetic but consumes CPU load and takes much time to import this library.
So it's reasonable deleting the part.

Screenshot 2023-04-10 at 2 03 47 PM

CC to maintainer: @mjcarroll

@furushchev
Copy link

Kindly ping to maintainer @mjcarroll

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants