Compilation Bloat Issue

We build ROS 2 core packages from sources, fixing the version/hash for each repository, and then we deploy the built artifacts to an internal registry.
This is based on the ROS 2 Conan Integration we presented some time ago.
These packages are built very sporadically, let’s say less than once a week, as we rebuild them only when we cherry-pick new ROS PRs into our forks.
As said, these are the core packages, e.g. rclcpp, geometry2, etc. We treat these as any other third-party software that our applications use (such as boost, tensorflow, etc).

Then, we have our robot applications that depend on ROS 2, for which we are actively measuring the compile-time and trying to reduce it.
Differently from the ROS 2 core packages, the robot applications are built hundreds of times everyday (by all our developers, their PRs and our CI/CD jobs).
As mentioned in the OP by Jeffery, we notice 25%-50% increase in compile-time in most of our ROS 2 robotics applications if we replace ROS 2 Galactic with ROS 2 Humble.

Deploying the Humble update as-is today, would cost us a lot of extra-money spent on AWS and various infrastructures.
This is a deal-breaker and we will not be able to move to Humble until we get the compile-time back to reasonable numbers.

1 Like