首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#与C++性能比较

问C#与C++性能比较
EN

Stack Overflow用户
提问于 2010-10-18 16:58:35
回答 4查看 14.5K关注 0票数 4

可能重复:

How much faster is C++ than C#?

你好!

在实际使用中,是否有C#比C++更快(性能更好)的情况?

我听说泛型集合比stl有显著的性能优势--是真的吗?

用C#编写本机代码(不安全块、引脚指针、元帅.)与本机用C++编写的相同代码的性能相同?

EN

回答 4

Stack Overflow用户

发布于 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++都是“足够快”,如果你在它们中开发正确的话。在这两种语言中,您都可以生成非常、非常有表现力的代码--同样容易的是,您可以制作在这两种语言中执行得非常糟糕的代码。

票数 6
EN

Stack Overflow用户

发布于 2010-10-18 17:08:14

我听说泛型集合比stl有很大的性能优势-是真的吗?

我非常怀疑,STL使用模板,它绕过了JIT开销,仍然创建了真正的、编译的、静态类型的集合。

有用C#编写的本机代码(不安全块、引脚指针、元帅.)与本机用C++编写的相同代码的性能相同?

尽管C#不安全代码执行得很好,但它并不能很好地与运行时的其余部分绑定.例如,尝试使用不安全的缓冲区执行套接字代码,这样就会在任何地方使用固定的块,这就变成了一场噩梦。不仅如此,C++代码的性能还会更好。

在实际使用中是否有C#比C++更快(性能更好)的情况?

动态代码是脑海中最大的代码,System.Reflection.Emit和Linq表达式(特别是C# 4.0中的新特性)确实使C#中的代码生成更实用,而C++中的类似策略可能需要更多的努力(因此不实用)。

票数 5
EN

Stack Overflow用户

发布于 2010-10-18 17:13:36

我使用C#而不是C++来改进应用程序的性能,这个应用程序正在分配/释放许多小对象,但大小不同。我怀疑垃圾收集是这类工作的好工具。

但是,至少在C#/.NET 2.0中,C++产生了更快的处理数字数组的代码( c# 2.0不支持SSE )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3961426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档