TogetherROS™·Bot零拷贝性能测试
我们使用TogetherROS™·Bot系统内部集成的性能测试工具——performance_test,来评估下开启零拷贝前后的性能差异,这里我们传输的样本数据量是4M。
未开启零拷贝进行数据传输
$ ros2 run performance_test perf_test --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #未开启
开启零拷贝数据传输:
$ ros2 run performance_test perf_test --zero-copy --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #开启
好的,测试已经跑完了,我们把结果放到这里,来分析一下。
在这个测试中,关键有四个指标:
- 时延,也就是消息从发布者到订阅者的传输时间。不开启零拷贝的情况下,平均为0.004912s,开启零拷贝之后,速度快了差不多40倍,平均为0.000180s。
- CPU使用率,表示通信活动所占用的CPU时间,大家可以看这个utime指标,开启零拷贝之后时间有显著的提升,消耗CPU的资源少了。
- 驻留内存,包括通信过程中分配的内存和共享内存,是这个maxrss中的数据,开启零拷贝之后,占用的内存也更少。
- 样本统计,包括测试中发送、接收以及丢失的消息数量,是这组数据,依然是开启零拷贝之后性能更好。
通过测试,对于大数据通信来讲,零拷贝在CPU消耗、内存占用以及通信延迟抖动方面的性能都会更好。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
测试
+关注
关注
8文章
4448浏览量
125124 -
cpu
+关注
关注
68文章
10442浏览量
206564 -
数据传输
+关注
关注
9文章
1526浏览量
63563
发布评论请先 登录
相关推荐
labview 是如何进行软件测试的?
本帖最后由 zhihuizhou 于 2011-11-30 17:39 编辑
现在用LabVIEW编写程序的都是如何进行软件测试的呢??一般软件公司至少有两个部门:软件研发部+软件测试部。各位
发表于 11-30 17:21
请问CC2640该怎么进行RF性能测试?
HI,各位大神好,请问CC2640如何进行RF性能测试呢?有相关的代码和文档吗?还有2天就国庆了,突然来的任务,我不想国庆加班,请大神们帮助一下~~~~
发表于 10-14 09:16
频谱仪如何进行准确的测试呢?
本文就跟大家聊一聊75 Ohm系统下的信号测试,对于这种信号的测试,如果频谱仪支持75 Ohm系统阻抗,可以直接进行测试。但是,绝大多数通用频谱仪只有50 Ohm系统阻抗,如
如何进行继电器负载测试
如何进行继电器负载测试 继电器是一种常见的电气元件,用于控制和分配电力负载。要确保继电器的负载能力和性能稳定,负载测试是必不可少的。 一、测试
如何进行充电桩负载测试
如何进行充电桩负载测试 充电桩负载测试是确保充电桩系统高效运行的关键环节之一。在本文中,我们将详尽、详实、细致地探讨充电桩负载测试的步骤、工具和最佳实践,以帮助您有效地
评论