I would like to benchmark RTI against other platforms such as opensplice using a common test. If possible, how much would have to be changed to get the RTI perftests to run on other platforms?
I would like to benchmark RTI against other platforms such as opensplice using a common test. If possible, how much would have to be changed to get the RTI perftests to run on other platforms?
Hi Nat,
You can do it, but you will need to abstract out and take into account a number of things.
Firstly, I would recommend you use the Modern C++ API (srcCpp03). If the DDS implementation you want to compare to RTI's support that API, you will be able to reuse most of the APIs, because all classes in the dds namespace are declared in a set of standard header files.
Secondly, you will need to abstract out OS API functions (e.g., clocks, semaphores, etc.), which are based on RTI APIs. In this branch of the RTI Perftest repository, which supports both RTI Connext DDS and RTI Connext DDS Micro, all those functions are abstracted, so you could plug in a third option for your vendor of choice. As far as I know, the merge of that functionality into the master branch is planned, but not scheduled yet.
Lastly, you will need to modify the build system to build against the other implementation of DDS, and use that implementation's code generator.
In summary, it can be done, but would require a quite a bit of work.
Best regards,
Fernando.
Hi Nat,
I am currently looking to achieve the same thing and have come across this post a year late. Just wondering how did you get along with this? Did you manage to modify PerfTest to work with other implementations?
Thanks,
Kaleem