Re: [問題] 相同程式 (/clr:pure) (/clr)速度差異

看板C_and_CPP作者 (突然覺得自己是孤獨的...)時間14年前 (2011/02/08 17:20), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串2/9 (看更多)
※ 引述《HeyScng ( )》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : VS2010 : CODE: : http://nopaste.csie.org/ea1a4 : PROPERTY使用 : 純 MSIL Common Language Runtime 支援 (/clr:pure) : RELEASE MODE執行時間650MS : Common Language Runtime 支援 (/clr) : RELEASE MODE執行時間2000MS : 想請問如何使相同程式碼在Common Language Runtime 支援 (/clr)下 : 也能有相同的執行速度 : MSDN 也找不到有關為何速度會變慢的解釋 : 不知這方面是否有關鍵字可以GOOGLE : 謝謝 不是很簡單嘛? pure就只有managed可用 clr的話是混合式, 可能要處理managed與unmanaged等資料型態 混合式的好處是提供相容性, 可以沿用舊的unmanaged程式碼, 但缺點就是需要多檢查 而pure因為都只有MSIL, 所以一切行為都更可以掌握及預測, 也因此在執行期(預轉譯成機械碼時)可以提供更好的優化 你純粹只用.Net寫, 沒有老舊程式碼的負擔, 也不需要提供給非.net的程式用 此時你不用考慮, 僅用pure就對了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.73.3

02/09 10:48, , 1F
首先謝謝您的答覆 由於程式我會呼叫其他dll 因此(/clr)
02/09 10:48, 1F

02/09 10:49, , 2F
勢必得使用 演算法的執行時間亦須符合規格 主要是想用
02/09 10:49, 2F

02/09 10:50, , 3F
template 來減少重複程式碼 以利以後管理 沒想到速度卻
02/09 10:50, 3F

02/09 10:51, , 4F
慢了好幾倍 因此才想上來問此情況是否有解決方法
02/09 10:51, 4F

02/09 12:35, , 5F
既然只要.net, 為什麼不直接用C#寫就好了呢?
02/09 12:35, 5F

02/09 12:40, , 6F
覺得c++/cli只有在需要 native和managed間interop時有用
02/09 12:40, 6F

02/09 14:18, , 7F
C#也可以直接呼叫C的DLL,這樣反而可以兼顧兩邊優點。
02/09 14:18, 7F

02/09 15:50, , 8F
template 不利閱讀, 反而容易產生管理困難吧
02/09 15:50, 8F
文章代碼(AID): #1DKNjVJc (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 9 篇):
文章代碼(AID): #1DKNjVJc (C_and_CPP)