dynamic_reconfigure
dynamic_reconfigure copied to clipboard
Remove obsolete load_manifest
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:
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.
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.

CC to maintainer: @mjcarroll
Kindly ping to maintainer @mjcarroll