第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以限制 Go 基準測試中的迭代次數(shù) (bN)?

是否可以限制 Go 基準測試中的迭代次數(shù) (bN)?

Go
吃雞游戲 2023-05-08 16:15:02
我正在嘗試對需要昂貴準備工作的操作進行基準測試,我將使用 StopTimer() 和 StartTimer() 排除在外。具體來說,我正在對第 n 個項目插入排序列表進行基準測試。示例代碼:n := 100// Run the process b.N timesfor i := 0; i < b.N; i++ {    // Stop the timer for our expensive preparation work (inserting n-1 items)    b.StopTimer()    // ...    // Insert n-1 items    for j := 1; j < n; j++ {        m.InsertItem(o)    }    // ...    // Resume the timer    b.StartTimer()    // Insert the nth item    m.InsertItem(o)}問題是 Go 的基準測試啟發(fā)式是根據(jù)基準時間而不是總時間來限制 bN 的。它最終要求第 100 次插入的 5MM(5000000)次迭代,這花費了比合理時間更多的時間(我想以第 1000 萬次項目插入為基準)。有沒有辦法在 Go 的基準測試工具中為特定的基準指定最大 bN?我自己在文檔中沒有找到任何內(nèi)容。
查看完整描述

2 回答

?
嚕嚕噠

TA貢獻1784條經(jīng)驗 獲得超7個贊

設置顯式迭代計數(shù)(100 次):

go?test?-bench=.?-benchtime=100x

指定時間(10 秒):

go?test?-bench=.?-benchtime=10s

b.N在 Go Benchmarking 中限制迭代次數(shù) ( ):
從Go 1.12開始:

-benchtime標志現(xiàn)在支持設置顯式迭代計數(shù),而不是值以“x”結尾的時間。例如,-benchtime=100x運行基準測試 100 次。


查看完整回答
反對 回復 2023-05-08
?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

-benchtime標志可用于指定要運行基準測試的時間 (?source?)。雖然我還沒有嘗試過,但提供低于 1 秒的時間值應該可以解決問題。

go test -bench=. -benchtime=10s


查看完整回答
反對 回復 2023-05-08
  • 2 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號