Kinetic Kame build very slow
I recently upgrade my machine from Ubuntu 14 to Ubuntu 16 and upgrade from ROS Jade to ROS Kinetic as well. I pulled my repository and built and every thing built just fine, tests seem to pass, however, the build is now about 5 times slower! Has anyone experienced this? Any idea what could be causing this and how to fix it?
Asked by JakeBaldwin on 2016-10-14 13:12:47 UTC
Comments
Are you referring to the actual build (ie: compilation, linking), or the output of the build (ie: binaries)? If the former, see if deleting your
build
anddevel
folders clears things up. If the latter, have you set the sameCMAKE_BUILD_TYPE
?Asked by gvdhoorn on 2016-10-14 13:28:04 UTC
It is the former, the compilation and linking. Deleting the
build/
anddevel/
directories makes no difference. My build went from about 5 or 6 min to 30 min!Asked by JakeBaldwin on 2016-10-14 13:46:10 UTC
That is strange indeed. Any particular pkgs that you notice it to have become much slower?
Asked by gvdhoorn on 2016-10-15 06:11:34 UTC
I've just noticed the same thing! My first guess is that there are a lot of new warnings when building against ROS Kinetic...
Asked by jonfink on 2016-10-26 12:40:07 UTC
After some further testing, I should add that I am comparing the performance of (Ubuntu 16.04 + ROS Kinetic + Clang-3.8) with (Ubuntu 14.04 + ROS Jade + Clang-3.4) and seeing an individual package build time go from 40 seconds with Jade/etc to 65 seconds with Kinetic/etc.
Asked by jonfink on 2016-10-26 14:57:17 UTC
Is this with
catkin_tools
orcatkin_make
?Asked by gvdhoorn on 2016-10-27 04:42:37 UTC
Catkin tools for me. Same version of catkin tools on both systems. Going to try with 'catkin_make' today.
Asked by jonfink on 2016-10-27 05:59:09 UTC
Just curious if there would be a difference between the two.
That is a possibility. Running
catkin
in verbose mode on both distributions should allow us to see whether that is the case.Asked by gvdhoorn on 2016-10-27 06:41:12 UTC
Trying to standardize my tests, costmap_2d from source (+ map_server, voxel_grid)
1 + catkin build = 33s 2 + catkin build = 2m57s 1 + catkin_make = 37s 2 + catkin_make = (seems to stall)
Asked by jonfink on 2016-10-27 08:21:59 UTC
Same FS? Same HW?
Asked by gvdhoorn on 2016-10-27 08:33:16 UTC
Yes, sorry (finding the character limit here quite burdensome...)
Builds are happening in docker containers on the same system, same source code. I should note that above results were with default gcc. Switching to clang, there is a consistent factor of 2 slow down from Jade->Kinetic.
Asked by jonfink on 2016-10-27 08:50:53 UTC
Interesting. Perhaps we should move this to discourse.ros.org: no char limit and more exposure.
Asked by gvdhoorn on 2016-10-27 09:12:15 UTC
That might be a good idea - I'm a little worried this isn't a ROS issue, per se, but a compiler issue (of sorts). Clang goes from version 3.4 to 3.8 (Trusty->Xenial) and GCC goes from 4.8 to 5..
Though I am surprised more people haven't noticed similar effects...
Asked by jonfink on 2016-10-27 09:15:34 UTC
I'd put it in the Uncategorized category.
Yeah, thinking that as well. Always good to get some more input on this.
If only to give @JakeBaldwin a proper answer.
Asked by gvdhoorn on 2016-10-27 09:17:27 UTC