可能是重复问题:
C++比C#快多少?
你好!
在实际使用中,是否有任何情况下C#比C++更快(具有更好的性能)?
我听说泛型集合比STL具有显着的性能优势,这是真的吗?
在C#中编写的本机代码(不安全块、固定指针、Marshal等)与在C++中编写的相同代码具有相同的性能吗?
可能是重复问题:
C++比C#快多少?
你好!
在实际使用中,是否有任何情况下C#比C++更快(具有更好的性能)?
我听说泛型集合比STL具有显着的性能优势,这是真的吗?
在C#中编写的本机代码(不安全块、固定指针、Marshal等)与在C++中编写的相同代码具有相同的性能吗?
我听说泛型集合比STL具有显著的性能优势,这是真的吗?
我非常怀疑这一点,STL使用模板,可以避免JIT开销,并且仍然创建真正的、编译过的、静态类型的集合。
用C#编写的本地代码(不安全块、固定指针、Marshal等)与使用C++编写的相同代码具有相同的性能吗?
虽然C#不安全代码执行得非常好,但它与其他运行时部分的连接并不很好...例如,尝试使用不安全缓冲区进行套接字代码,你只会到处使用fixed块,最终会变成噩梦。不仅如此,C++代码仍然表现更佳。
C#在实际应用中是否存在比C++更快(性能更好)的情况?
动态代码是我想到的最大的一个例子,System.Reflection.Emit和Linq表达式(特别是在C# 4.0中的新功能)使得在C#中生成代码变得实用,而在C++中使用类似的策略可能需要更多的努力(因此不实用)。
我发现在一个需要频繁分配/释放不同大小对象的应用程序中,使用C#相比于C++有一定的性能提升。我猜测垃圾回收是这样工作的好工具。
然而,至少在C#/.NET 2.0中,对于处理数字数组,C++代码明显更快(因为c# 2.0没有SSE支持)。
Collections.Generic.List
与std::vector()
的插入性能),请具体提问。 - Shog9