如何进行零拷贝性能测试

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消耗、内存占用以及通信延迟抖动方面的性能都会更好。

苹果没有充分开发iPhone最大价值
互联网无孔不入 大数据时代如何保护隐私
全面解析IC封装
库克给出新iPhone销量低迷因素 中国市场是主因
精密激光焊接
如何进行零拷贝性能测试
HDMI、DVI接口差异之解析
户外储能电源适合那些电子设备使用?
K4T51163Q(三星DDR2)停产了怎么办?
东芝MG07ACA企业级14TB硬盘于2018开放数据中心峰会获奖
摩尔线程与七喜电脑完成产品兼容互认证
婴儿监护仪录音芯片 支持OTA升级的录放IC WT2003H
WCDMA网络的移动基站天线应用方案分析
行业 | 英特尔牵手海信——将携手打造智能会议整体解决方案
连接器设计四部曲 解决电源效率难题
降压式Buck电路中C1电容的作用和原理
优化重复冗余代码的8种方式
iPhone8什么时候上市?iphone 8如期发布,亮屏照曝光!屏占比完爆三星S8
电机接触器经常烧坏的原因是什么
用Megatron-CNTRL为语言模型添加外部知识和可控性