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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

基準(zhǔn) Go 代碼和 goroutines

基準(zhǔn) Go 代碼和 goroutines

Go
慕尼黑8549860 2021-12-07 18:49:26
我想對一個(gè)函數(shù)進(jìn)行基準(zhǔn)測試:test(),使用不同數(shù)量的線程處理它。沒有 goroutines:var t1 = time.Now()test()var elapsed1 = time.Since(t1)1 納秒/操作使用 goroutine:runtime.GOMAXPROCS(1)var t1 = time.Now()go test()var elapsed1 = time.Since(t1)1.10^-6 ns / 操作我的測試功能:func test() {    for i := 0; i < 1000000000; i++ {        float_result = f1 + f2        float_result = f1 - f2        float_result = f1 * f2        float_result = f1 / f2        float_result = f1 + f2        float_result = f1 - f2        float_result = f1 * f2        float_result = f1 / f2        float_result = f1 + f2        float_result = f1 - f2        float_result = f1 * f2        float_result = f1 / f2        float_result = f1 + f2        float_result = f1 - f2        float_result = f1 * f2        float_result = f1 / f2        float_result = f1 + f2        float_result = f1 - f2        float_result = f1 * f2        float_result = f1 / f2    }}在這種情況下,當(dāng)我使用 goroutine 時(shí),test() 函數(shù)是否經(jīng)過良好的基準(zhǔn)測試?怎么可能達(dá)到0.001ns/操作?看起來速度太快了。(2.5GHz 英特爾酷睿 i7)使用 goroutine 是否runtime.GOMAXPROCS(n)等同于使用 n 個(gè)線程?
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

您不是在測量test()運(yùn)行時(shí)間,而是在測量使用go test().


您需要等待 goroutine(s) 完成,例如使用sync.Waitgroup。


// somewhere in your main package

var wg sync.WaitGroup


func test() {

   // first lines in test() should be

   wg.Add(1)

   defer wg.Done()

   ...

}



// benchmark

runtime.GOMAXPROCS(1)

var t1 = time.Now()

go test()

wg.Wait()

var elapsed1 = time.Since(t1)


查看完整回答
反對 回復(fù) 2021-12-07
?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

您正在嘗試對如此小的東西進(jìn)行基準(zhǔn)測試,以至于測量誤差占主導(dǎo)地位。您的基準(zhǔn)測試迭代應(yīng)該進(jìn)行調(diào)整,直到基準(zhǔn)測試功能持續(xù)足夠長的時(shí)間才能可靠地計(jì)時(shí)。您的基準(zhǔn)測試應(yīng)該運(yùn)行大約一秒鐘才能有意義。


查看完整回答
反對 回復(fù) 2021-12-07
  • 2 回答
  • 0 關(guān)注
  • 182 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

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