→ james732: 我覺得應該要找出你效能降低的原因 01/30 21:51
→ james732: 譬如是不是用傳值導致太多不必要的複製? 01/30 21:52
對, 程式的確有幾個function是有傳vector, 且這些function不斷地被呼叫
那是不是應該盡量避免將vector型態的變數作為function的參數?
※ 編輯: clonsey1314 (220.142.64.53), 01/30/2019 22:05:44
※ 編輯: clonsey1314 (220.142.64.53), 01/30/2019 22:09:35
→ james732: 應該要用傳reference或傳pointer而不是傳value 01/30 23:20
→ Feis: 1. 用參考. 2. 看能不能改用 array<T> 01/30 23:24
推 steve1012: 通常vector不會是效能瓶頸 你確認過了嗎 01/31 01:00
推 s06i06: Vector 效能不會比array差 01/31 01:46
→ s9041200: 傳參考,不然拉成全域,自己維護狀態 01/31 11:23
謝謝各位,已改傳reference,效能也已獲得改善:)
※ 編輯: clonsey1314 (218.164.36.184), 01/31/2019 11:50:31
推 chchwy: -O2之後vector跟原生array應該要幾乎一樣快才對 02/01 06:27
推 LPH66: 主要是複製成本, vector 被 PBV 的話會需要複製 02/01 10:16
→ LPH66: 所以大家才會建議傳參考 (PBR) 減少複製成本 02/01 10:17
→ F04E: 降低效能應該是你的問題,source code放出來看看 02/05 19:37
→ F04E: std::move和emplace_back是你的好朋友 02/05 19:39