codegen production code?
ROS separates code into separate components (nodes), and nodes communicate with each other through pub/sub.
since nodes are started from separate commands, I guess each node is a separate process, and pub/sub is implemented on top of IPC or some network service.
but IPC or network service could be slow and costly in CPU cycles, this would be a bigger problem for systems constrained on size and the computing platform they can use (for example a Raspberry-Pi type of system). ROS is great for the development process, but once debugging/tuning is done, it would be nice to compile the code or codegen into a more tightly-integrated set, maybe into a monolithic binary, and the target platform simply runs that binary, this might provide big savings in CPU and latency.