我有一個程序可以運行在兩臺不同的計算機上,如:服務器和客戶端。我想用C++和Java在我的程序中測量網絡中的延遲。測量運行時間的正常命令(例如C中的gettimeofday
)我認爲對於網絡上的運行延遲並不是很準確。一些忠告?通過網絡測量延遲
Q
通過網絡測量延遲
1
A
回答
2
您可以測量精確的時間與std::chrono
#include <chrono>
auto timeStart = std::chrono::high_resolution_clock::now();
// do something... wait for result...
auto timeEnd = std::chrono::high_resolution_clock::now();
long long duration = std::chrono::duration_cast<std::chrono::microseconds>(timeEnd - timeStart).count();
更換microseconds
與nanoseconds
,milliseconds
,seconds
得到持續時間在不同的單位。
你不妨使用std::clock儘管它可能會提供不準確的測量:
#include <ctime>
std::clock_t timeStart = std::clock();
// do something... wait for result...
std::clock_t timeEnd = std::clock();
double durationMs = 1000.0 * (timeEnd-timeStart)/CLOCKS_PER_SEC;
相關問題
- 1. 網絡延遲測試儀
- 2. 延遲測量
- 3. 巨大的網絡通信延遲
- 4. 如何測量並行C++程序中的網絡延遲?
- 5. 有一種方法可以測量java中的延遲網絡
- 6. Chrome網絡選項卡中的延遲測量
- 7. Mysql和網絡延遲
- 8. Http Post和網絡延遲
- 9. Mongolab和網絡延遲?
- 10. 測量延遲8051
- 11. 如何通過DNS協議檢測兩臺主機之間的網絡延遲?
- 12. 通過datamining預測網絡流量
- 13. C#.NET - 以最小延遲發送大量小消息(通過網絡)
- 14. 如何模擬網絡延遲/人爲地增加網絡延遲?
- 15. 通過Linux上的UDP進行延遲測量
- 16. 移動網絡上的延遲(Android)
- 17. 遊戲網絡延遲補償
- 18. VMWare ESXi,RHEL,LUKS和網絡延遲
- 19. Windows網絡中的可變延遲
- 20. 網絡丟包延遲帶寬模擬
- 21. Hibernate/c3p0/MySQL下的網絡延遲
- 22. 使用.NET Framework模擬網絡延遲
- 23. android wifi網絡延遲星系s2
- 24. 高網絡延遲的原因
- 25. 異步模擬網絡延遲
- 26. 具有極高延遲的網絡
- 27. java在高延遲網絡中
- 28. 網絡延遲和計算機凍結
- 29. 延遲從網絡流telnet連接
- 30. 使用Apache Tomcat模擬網絡延遲?
'正常的命令來衡量runtime' - 什麼是你指什麼?普通ping有什麼問題? – Pavel
@Pavel編輯我的問題。我指的是諸如gettimeofday – PRVS
之類的命令您是否想知道端到端延遲(即單向)還是往返延遲(例如ping)? – Jonas