std :: function的性能開銷是多少?我在論壇上聽到使用std::function<>原因性能下降。這是真的嗎?如果是真的,這是一個(gè)很大的性能下降?
3 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以從boost的參考資料中找到信息:通過boost :: function調(diào)用會(huì)產(chǎn)生多少開銷?和表現(xiàn)
這并不能確定“是或否”來提升功能??紤]到程序的要求,性能下降可能是可以接受的。通常,程序的某些部分對性能不重要。即使這樣,也可以接受。這只是您可以確定的內(nèi)容。
對于標(biāo)準(zhǔn)庫版本,標(biāo)準(zhǔn)僅定義了一個(gè)接口。完全由個(gè)人實(shí)現(xiàn)來使其工作。我想將使用類似于boost函數(shù)的實(shí)現(xiàn)。

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果您在不綁定任何參數(shù)(不分配堆空間)的情況下傳遞函數(shù),這將強(qiáng)烈依賴。
還取決于其他因素,但這是主要因素。
確實(shí),你需要比較一些東西,你不能簡單地說它“減少了開銷”,而不是完全不使用它,你需要將它與使用另一種傳遞函數(shù)的方法進(jìn)行比較。如果您可以完全免除使用它,那么從一開始就不需要它
- 3 回答
- 0 關(guān)注
- 1109 瀏覽
添加回答
舉報(bào)
0/150
提交
取消