> Hello, I'd like to just shine a light on this last statement. I don't > immediately understand why a shared memory transport can't compete > with nodelets as I understand them. If nodelets are threads in a > single process and use process memory to carry messages (which is > essentially shared memory in that context), shouldn't nodelets and a > shared memory transport be roughly equivalent in performance? > > It depends entirely on what you mean by shared memory transport. If the messages are allocated out of shared memory, and a pointer to them is simply passed around, yes -- but that's not what Cedric's implementation did. Serialization/deserialization is by far the largest time sync when dealing with large messages, so unless you remove that overhead shared memory cannot compete with nodelets. http://ros-users.122217.n3.nabble.com/Shared-memory-transport-using-C-in-ROS-td414682.html#a414682 http://ros-users.122217.n3.nabble.com/Shared-memory-image-plugin-td782519.html#a782519 Josh