我只是在測量一組 goroutine 的執行時間。這意味著:我開始測量,然后啟動 20 個 goroutines 并在它們完成后立即停止測量。我重復該過程 4 次,然后比較 4 次執行時間。有時,這些執行時間會有很大差異:20 個協程的第一次運行:1.2 毫秒20 個協程的第二次運行:1.9 毫秒20 個協程的第三次運行:1.4 毫秒20 個協程的第四次運行:17.0 毫秒!為什么有時差異如此顯著?有什么辦法可以避免嗎?
1 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
為什么有時差異如此顯著?
執行時間在某些時候總是不可預測的,如提到的(CPU、磁盤負載、內存等)
有什么辦法可以避免嗎?
有一種方法可以使您的測量更有用。Go 有一個內置的基準測試工具。該工具運行您的代碼的次數剛好足以確定某種確定性的執行時間。
除了顯示代碼的平均執行時間外,它還可以顯示有用的內存信息。
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消