TogetherROS?·Bot零拷貝性能測試
我們使用TogetherROS?·Bot系統(tǒng)內(nèi)部集成的性能測試工具——performance_test,來評估下開啟零拷貝前后的性能差異,這里我們傳輸?shù)臉颖緮?shù)據(jù)量是4M。
未開啟零拷貝進行數(shù)據(jù)傳輸
$ ros2 run performance_test perf_test --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #未開啟
開啟零拷貝數(shù)據(jù)傳輸:
$ ros2 run performance_test perf_test --zero-copy --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #開啟
好的,測試已經(jīng)跑完了,我們把結(jié)果放到這里,來分析一下。
在這個測試中,關(guān)鍵有四個指標:
- 時延,也就是消息從發(fā)布者到訂閱者的傳輸時間。不開啟零拷貝的情況下,平均為0.004912s,開啟零拷貝之后,速度快了差不多40倍,平均為0.000180s。
- CPU使用率,表示通信活動所占用的CPU時間,大家可以看這個utime指標,開啟零拷貝之后時間有顯著的提升,消耗CPU的資源少了。
- 駐留內(nèi)存,包括通信過程中分配的內(nèi)存和共享內(nèi)存,是這個maxrss中的數(shù)據(jù),開啟零拷貝之后,占用的內(nèi)存也更少。
- 樣本統(tǒng)計,包括測試中發(fā)送、接收以及丟失的消息數(shù)量,是這組數(shù)據(jù),依然是開啟零拷貝之后性能更好。
通過測試,對于大數(shù)據(jù)通信來講,零拷貝在CPU消耗、內(nèi)存占用以及通信延遲抖動方面的性能都會更好。
-
測試
+關(guān)注
關(guān)注
8文章
5687瀏覽量
128759 -
cpu
+關(guān)注
關(guān)注
68文章
11074瀏覽量
216875 -
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
2015瀏覽量
66021
發(fā)布評論請先 登錄
RAID中零拷貝技術(shù)研究
什么是EMC測試_如何進行EMC測試
深入理解Linux系統(tǒng)零拷貝技術(shù)
詳解Linux系統(tǒng)中的零拷貝技術(shù)

電源如何進行效率測試
傳統(tǒng)IO演化至零拷貝的過程

芯片電學測試如何進行?包含哪些測試內(nèi)容?
什么是零拷貝技術(shù)

評論