作者GreatShot ()
看板C_Sharp
標題[閒聊] .NET的執行效率
時間Mon Oct 22 21:18:22 2007
最近寫了兩個一樣功能的程式
程式很複雜不過大抵來說作法一樣,前半部是大量的I/O,後半部是大量的計算
一個是C# version,大部分是用List<>之類的資料結構
一個是C++ version,大部分用的是STL的vector,所有pointer都用boost的smart_ptr
結果前者效率遠遠高於後者
這有三種可能性
1. .NET 2.0效能比boost好 (我想這可能性不高..)
2. smart_ptr效率不佳 (這就很有可能)
3. 我程式寫太爛..囧 (這相當有可能 XD)
--
[聽說宅男的簽名檔要這樣寫]
INTEL Q6600 with Tower120, Gigabyte 965P-DS4, A-Data DDR2-800 4G
ELSA 8800GTS 640MB, Seagate 320G x 2, WD 250G x 2(raid 0)
Logitech MX3200, Creative X-Fi Music, SENNHEISER PC-165
Altec Lansing MX5021, EIZO S1910(19") + EIZO 2411W(24")
Lianli V1000 Plus2
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.110.47
推 sfp:我覺得C++最佳化的眉眉角角太多了 沒有經年的經驗不容易掌握 10/22 22:34
→ sfp:若是C++的效率只在超強者的手底能發揮 反過來就是C#的優點 10/22 22:35
推 sfp:又想了想 會不會是compiler的優劣不同? 10/22 22:42
推 leicheong:.NET JIT的optimization的確比C++的做得好. 10/23 12:00
→ leicheong:可以有效的把程式碼中一些常見的贅肉改成有效率的寫法. 10/23 12:01
推 ithinkurdumb:compiler其實也差蠻多的, 用VS2005的試試看? 10/24 15:01
推 YuYuHo:可能是大量的new跟delete造成的 11/08 00:00