-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The DDS API execution takes a long time and cannot meet real-time requirements. #2107
Comments
@hansvanthag Hello, do you have any doubts or suggestions? I will do some related tests, thank you. |
As was stated (on discord support channel), there's multiple topics (of various sizes) being communicated along the 1Khz writes of 300 byte samples (for which the write and read execution times are being measured).
Therefore, the question to contribute a reproducer stands as we're pretty sure that on 'your' machine (2.4 Ghz i5) a 1Khz writer of 300 bytes shouldn't be that slow. Note that Jitter (on a non-realtime OS) can be caused by many things, so you might want to try to run the app at a RT-priority (nice --20) to see if that reduces the the write-time jitter .. |
My operating system is a real-time system with the rt patch added. |
1, I will retry the test; |
According to the introduction of DDS, its real-time performance seems to be better, but after my test, the execution time of DDS's own API is not stable, as shown in the following example:
When tested on Ubuntu 20.04 with the rt patch, the CPU utilization was about 10%, and the execution time of
dds_write
anddds_take
jumped between 40us and 700us, which was very unstable. I am using cyclonedds-0.10.5.The text was updated successfully, but these errors were encountered: