dynamic_reconfigure icon indicating copy to clipboard operation
dynamic_reconfigure copied to clipboard

Remove obsolete load_manifest

Open heuristicus opened this issue 4 years ago • 2 comments

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 https://github.com/ros/geometry2/pull/404.

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

heuristicus avatar Nov 04 '20 10:11 heuristicus

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 avatar Apr 10 '23 21:04 furushchev

Kindly ping to maintainer @mjcarroll

furushchev avatar Apr 22 '23 04:04 furushchev