|
|
发表于 2009-5-13 18:25:00
|
显示全部楼层
Re: .Net的程序运行效率比VC++低?不!翻译自国外的一篇文章
其实,经过jit编译之后,C#生成的最终机器码和c++相近。可以说,没有本质区别。
认为c#比c++慢的人,显然对c#缺少一个基本的了解。
c#的优势在于它提供了一个自动内存管理框架,此外,它的工程化做得很好。对于大的项目,c#可以显著降低开发成本,效率与c++相近。
有些人说的数组边界检查问题,其实在需要优化的地方,c#是可以用指针的,这样就跳过了边界检查。
在需要汇编的地方,c#是可以调用c函数的。
架构师需要懂多种编程语言。用什么适合,就用什么。我见过的稍微上点档次的开发人员,都是懂多种编程语言的。
如果一个工程,用c#可以节省80%的开发成本,运行效率达到用c++开发的80%,那是否有运用c#的必要呢?实际上,c#有时候节约的成本还不止80%,运行效率,有时候比c++还快。这些都是经验之谈。
再比如一些游戏引擎,普遍用python做为粘合剂,是不是都应该用c++来开发呢?
尽可能的用c#和java,而不是用c++,这是一条经济规律。如果对项目负责,就得遵守它。
c语言,在某些场合,还是不可代替的。c++,多数情况都不需要它。java和c#,通常都可以替代c++。 |
|