21 c++ performance programming-languages
据说Blitz ++提供了近Fortran性能.
对于等效任务,Fortran实际上往往比常规C++更快吗?
那些具有出色运行时性能的其他HL语言呢?我听说过几种语言在某些任务中使用C++ ... Objective Caml,Java,D ...
我猜GC可以更快地编写代码,因为它不需要在堆栈周围进行过多的复制?(假设代码不是为了性能而编写的)
我是出于好奇而问 - 我一直认为C++几乎是无与伦比的专家ASM编码.
Dav*_*eau 55
对于纯粹的数字代码,Fortran比C++更快,几乎总是更好.Fortran更快的原因有很多.它是最古老的编译语言(优化编译器方面的许多知识).它仍然是数值计算的语言,因此许多编译器供应商以销售优化编译器为生.还有其他更多技术原因.Fortran(好吧,至少Fortran77)没有指针,因此没有混淆问题,这会困扰该域中的C/C++语言.许多高性能库仍然在Fortran中编码,历史悠久(> 30年).C或C++都没有任何好的数组结构(C级别太低,C++拥有与地球上编译器一样多的数组库,它们彼此不兼容,从而阻止了经过良好测试的快速代码池).
Roo*_*ook 18
fortran是否比c ++更快是一个讨论问题.有人说是,有人说不; 我不会进入那个.这取决于编译器,运行它的体系结构,算法的实现......等等.
fortran 确实比C更具优势的是实现这些算法所需的时间.这使它非常适合任何类型的数值计算.我将陈述一些优于C的明显优势:
**)(上帝,他的想法是权力函数会做什么?而不是运算符?!)A(1,2)就像在数学中一样现在不能想到其他任何事情,所以这将是必须的.
小智 7
由于语言实现数组的方式不同,FORTAN通常比C++更快地进行数组处理 - FORTRAN不允许数组元素的别名,而C++则不然.这使FORTRAN编译器工作更容易.此外,FORTRAN有许多非常成熟的数学库已经使用了近50年--C++已经存在了很长时间!