Compiling ROS from source I’ve noticed that PCL 1.8 (and thus pcl_ros) links to a newer version of the VTK library, which yields unbelievable 139 dynamic libraries to be linked to my programs. Crazy! According to https://stackoverflow.com/a/36984905/1076564 , there is some performance penalty for every dynamically linked library.
Together with dependencies of the VTK libraries, we get to this number:
ldd /opt/ros/lunar/lib/libpcl_ros_surface.so | wc -l 329
And all of that just to be able to transform a pointcloud (no visualizations etc).
I think pcl_ros should be refactored to two packages, one for “computing” and the other for visualizations. That could probably push the number of linked libraries much lower for computing-only uses of pcl_ros. Or it could be modularized even more… Not everybody needs surface reconstruction capabilities, for example.
What’s your opinion on this? Or is there some good reason to keep it all in one package?