[閒聊] .NET的執行效率

看板C_Sharp作者時間16年前 (2007/10/22 21:18), 編輯推噓5(502)
留言7則, 4人參與, 最新討論串1/1
最近寫了兩個一樣功能的程式 程式很複雜不過大抵來說作法一樣,前半部是大量的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

10/22 22:34, , 1F
我覺得C++最佳化的眉眉角角太多了 沒有經年的經驗不容易掌握
10/22 22:34, 1F

10/22 22:35, , 2F
若是C++的效率只在超強者的手底能發揮 反過來就是C#的優點
10/22 22:35, 2F

10/22 22:42, , 3F
又想了想 會不會是compiler的優劣不同?
10/22 22:42, 3F

10/23 12:00, , 4F
.NET JIT的optimization的確比C++的做得好.
10/23 12:00, 4F

10/23 12:01, , 5F
可以有效的把程式碼中一些常見的贅肉改成有效率的寫法.
10/23 12:01, 5F

10/24 15:01, , 6F
compiler其實也差蠻多的, 用VS2005的試試看?
10/24 15:01, 6F

11/08 00:00, , 7F
可能是大量的new跟delete造成的
11/08 00:00, 7F
文章代碼(AID): #177ACZDZ (C_Sharp)