Re: [問題] 相同程式 (/clr:pure) (/clr)速度差異
推 HeyScng:首先謝謝您的答覆 由於程式我會呼叫其他dll 因此(/clr) 02/09 10:48
→ HeyScng:勢必得使用 演算法的執行時間亦須符合規格 主要是想用 02/09 10:49
→ HeyScng:template 來減少重複程式碼 以利以後管理 沒想到速度卻 02/09 10:50
→ HeyScng:慢了好幾倍 因此才想上來問此情況是否有解決方法 02/09 10:51
可能表達的不情楚
基本上是同樣的程式碼 使用 template 和不使用 template 速度差很多
尤其是在PROPERTY使用 (/clr:pure) 下
不知是否 template 誤用或是其他原因
或是可以 compiler 設定參數方式解決此問題 (但亦須能與原生碼混用)
再次謝謝您的答覆
※ 引述《WPC001 (突然覺得自己是孤獨的...)》之銘言:
: ※ 引述《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: 140.96.63.154
→
02/09 11:46, , 1F
02/09 11:46, 1F
→
02/09 13:55, , 2F
02/09 13:55, 2F
推
02/09 16:08, , 3F
02/09 16:08, 3F
→
02/09 16:09, , 4F
02/09 16:09, 4F
討論串 (同標題文章)