作者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
1F:推 sfp:我觉得C++最佳化的眉眉角角太多了 没有经年的经验不容易掌握 10/22 22:34
2F:→ sfp:若是C++的效率只在超强者的手底能发挥 反过来就是C#的优点 10/22 22:35
3F:推 sfp:又想了想 会不会是compiler的优劣不同? 10/22 22:42
4F:推 leicheong:.NET JIT的optimization的确比C++的做得好. 10/23 12:00
5F:→ leicheong:可以有效的把程式码中一些常见的赘肉改成有效率的写法. 10/23 12:01
6F:推 ithinkurdumb:compiler其实也差蛮多的, 用VS2005的试试看? 10/24 15:01
7F:推 YuYuHo:可能是大量的new跟delete造成的 11/08 00:00