可能重复:
How much faster is C++ than C#?
你好!
在实际使用中,是否有C#比C++更快(性能更好)的情况?
我听说泛型集合比stl有显著的性能优势--是真的吗?
用C#编写本机代码(不安全块、引脚指针、元帅.)与本机用C++编写的相同代码的性能相同?
发布于 2010-10-18 17:02:01
在实际使用中是否有C#比C++更快(性能更好)的情况?
和
有用C#编写的本机代码(不安全块、引脚指针、元帅.)与本机用C++编写的相同代码的性能相同?
是的,有时这是可能发生的。见这里的答案:
Why would I see ~20% speed increase using native code?
我听说泛型集合比stl有很大的性能优势-是真的吗?
不一定。STL可以非常高效--通常比.NET中的一般集合更有效。
但是,总的来说,我不会关注这个级别的性能。C#和C++都是“足够快”,如果你在它们中开发正确的话。在这两种语言中,您都可以生成非常、非常有表现力的代码--同样容易的是,您可以制作在这两种语言中执行得非常糟糕的代码。
发布于 2010-10-18 17:08:14
我听说泛型集合比stl有很大的性能优势-是真的吗?
我非常怀疑,STL使用模板,它绕过了JIT开销,仍然创建了真正的、编译的、静态类型的集合。
有用C#编写的本机代码(不安全块、引脚指针、元帅.)与本机用C++编写的相同代码的性能相同?
尽管C#不安全代码执行得很好,但它并不能很好地与运行时的其余部分绑定.例如,尝试使用不安全的缓冲区执行套接字代码,这样就会在任何地方使用固定的块,这就变成了一场噩梦。不仅如此,C++代码的性能还会更好。
在实际使用中是否有C#比C++更快(性能更好)的情况?
动态代码是脑海中最大的代码,System.Reflection.Emit和Linq表达式(特别是C# 4.0中的新特性)确实使C#中的代码生成更实用,而C++中的类似策略可能需要更多的努力(因此不实用)。
发布于 2010-10-18 17:13:36
我使用C#而不是C++来改进应用程序的性能,这个应用程序正在分配/释放许多小对象,但大小不同。我怀疑垃圾收集是这类工作的好工具。
但是,至少在C#/.NET 2.0中,C++产生了更快的处理数字数组的代码( c# 2.0不支持SSE )。
https://stackoverflow.com/questions/3961426
复制相似问题