看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《HeyScng ( )》之銘言: : 前文恕刪 : : -- : : ◆ From: 140.96.63.154 : : → kazuto:template應該是編譯期行為吧? 02/09 11:46 : : → horngsh:推1F 02/09 13:55 : : 推 Ebergies:如果你用的是 C# Generics 的話, 那麼它是在執行期才產生 02/09 16:08 : : → Ebergies:但只會產生一次, 如果你使用次數夠多應該是不成問題才對 02/09 16:09 : 的確我也認為template instantiation在編譯期 : 但實際在 /clr 選項編譯下(win32 console) 速度卻有明顯差異 : 測試程式碼如連結 http://nopaste.csie.org/a6909 : 執行結果: : TestFunction1 elapsed: 2312 : TestFunction1 elapsed: 422 : 因此才懷疑 template 誤用或希望可藉compiler設定加快速度 : 因為會使用 Windows form 與 許多dll 因此必須使用 /clr : 不過主要目的只是想要重覆程式碼少一點 : 所以如果有其他寫法可以達成 也請指教 : 謝謝 考慮效能的話, 你挑選的語言應該是C/C++ (C++應儘量避免OO會造成的效能損失) 而且應該以native code的形式存在, 必要的話~~ 應該是寫成DLL/COM給別人呼叫... 而別用這種類似BYTECODE的東西來當你的核心 .Net/或是CLR混用這種會降低效能的部分, 應該是要放在與效能最無關的地方, 如UI的處理 否則先天的限制, 你就換上更高等級的硬體也是一種解法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.71.98
softwind:考慮效能的話 應該使用 asm code ... 02/09 23:09
NDark:PC平台的話C已經很快了. 02/09 23:44