看板 C_Sharp 關於我們 聯絡資訊
最近寫了兩個一樣功能的程式 程式很複雜不過大抵來說作法一樣,前半部是大量的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