c#有多快?

时间:2009-02-14 03:24:22

标签: c# performance

c#编译为机器代码,还是编译成独立于平台的中间代码?

我正在寻找需要移植到单一语言的应用,我们希望将其移植到便携/快速平台。

6 个答案:

答案 0 :(得分:15)

它们都是:它被编译为中间代码,部署,然后编译为安装和/或运行它的机器上的机器代码。

答案 1 :(得分:5)

查看http://shootout.alioth.debian.org/gp4/csharp.php进行一些基准比较。

答案 2 :(得分:4)

据我所知,Java往往比C#快一点,但对于大多数应用程序来说它并不足以让它真正重要,而C#往往需要更少的内存。与其他语言相比,他们往往擅长相似类型的应用程序。它们通常比C ++执行速度慢,但在某些应用程序中,由于JIT编译器可以进行优化,它们可以更快。它们通常比通常纯粹解释的语言(如Perl或Python)快一个数量级。

你特别提到了C#,但是我提出了Java,因为它更好地支持跨平台,你也特别提到了。感谢Mono,您可以进行C#developement跨平台,现在显然支持Windows窗体。但是,如果某些团队使用.Net并且其中一些使用Mono,则可能需要小心,因为Mono仅支持C#2.0,而Microsoft目前正在使用4.0版本,并且在推动新功能方面相当积极。 Java有一个完全相反的问题,即Sun在推送新功能时非常保守,导致它缺少C#所具有的一些很好的功能,比如属性和闭包。

答案 3 :(得分:2)

C#很快。它被编译成一个字节代码,然后由JIT翻译。有一个名为Mono的C#开源实现,效果很好。我有基本的ASP.NET站点,在Linux和Mono上用C#编写,它们运行得很好。

答案 4 :(得分:1)

听起来你并不关心C#有多快,你只是希望它不会明显变慢。对此,答案肯定是肯定的。有许多令人印象深刻的应用程序用C#编写。除非你正在做一些处理器非常密集的事情,否则它看起来不应该比C ++慢。

答案 5 :(得分:0)

  

是否将c#编译为机器代码?

没有

  

是否编译成独立于平台的中间代码?