Today, we are happy to present to you our recent performance tests of Fast DDS v2.2.0!
In this first part, we focused only on latency for the new delivery mechanisms included. In the up-coming second part, we will take a closer look at the throughput performance. For the complete performance test and more details, check out the article “eProsima Fast DDS Performance”.
Important to mention is that we tested only in the synchronous publication mode. For more information on that and asynchronous publication, visit this article.
Zero-copy intra-process delivery is made possible thanks to sample loaning on both DataWriter and DataReader.
Inter-process Shared Memory
In Fast DDS v2.2.0, we introduced new delivery mechanisms: SHM (Loans), SHM (Data Sharing) and SHM (zero-copy). More on that on my last post.
In conclusion, we can see that, thanks to a proper data model design, Fast DDS v2.2.0 has considerably improved its performance, being capable of maintaining the latency stable no matter the data sample size. In fact, it can be seen that the vast majority of the latency overhead is caused by the data copies from buffer to buffer. Because of this, the larger the data samples, the greater the latency improvements that can be achieved.
As mentioned earlier, in part two of the performance testing, we will look at the throughput, so stay tuned!