18.104.22.168. FlatData and Zero Copy
RTI FlatData™ language binding and Zero Copy over shared memory are two very powerful tools in RTI Connext DDS Professional that can boost performance by reducing latency.
With FlatData language binding, the in-memory representation of a sample matches the wire representation, reducing the cost of serialization/deserialization to zero. You can directly access the serialized data without deserializing it first. FlatData language binding reduces the number of copies of a sample from four to two for both SHMEM and UDP transports, by removing the serialization and deserialization copies.
Zero Copy transfer over shared memory reduces the number of copies to zero for communications within the same host. This feature accomplishes zero copies by using the shared memory (SHMEM) built-in transport to send 16-byte references to samples within a SHMEM segment owned by the DataWriter, instead of using the SHMEM built-in transport to send the serialized sample content by making a copy.
For more information, see Sending Large Data, in the RTI Connext DDS Core Libraries User’s Manual.
In the following tests, we compare improvements in performance over shared memory (SHMEM) for these two features.