【发布时间】:2013-09-13 10:19:05
【问题描述】:
虽然很难按速度对语言进行排名,但人们普遍认为,在今天的实践中,您可以使用 C 获得最快的程序。我一直认为没有高级语言可以像这样的教条至少在一段时间内快。除了我刚刚了解了Stalin compiler for Scheme。正如我们所知,Scheme 是一种没有类型注释的高级函数式语言。然而,该编译器声称生成程序的速度比 C 语言中的直接等效程序快 1.5 到 100 倍。
我不知道它的存在这一事实让我担心我的信仰。首先,这怎么可能是真的?其次,这不能是唯一的例外。是否有其他高级或低级语言的编译器生成比 C 代码更快的代码,我也不知道?
【问题讨论】:
-
“比 C 代码更快”到底是什么意思? C 代码始终使用编译器进行编译。你指的C编译器是什么?
-
@G_G,有些事情很难定义。你知道我的意思,这里的普通读者也会知道。在大多数情况下,斯大林生成的代码比使用任何 C 编译器(例如 gcc)编译的等效 C 程序(定义复杂的另一个术语,但您知道我的意思)更快。不过,我无法证明这一点:我刚刚得到了他们的说法。但是我已经完成了研究,并且互联网上的许多轶事证实了这些,所以我至少在最初对此充满信心。
-
是和不是。是的,如果一个非常优秀的 C 程序员坐下来查看代码足够长的时间,可能会找到某种方法使其至少与汇编以外的任何其他代码一样快。然而,对于很长一段代码的普通到优秀的程序员来说,你的一次性优秀高级语言很可能比一次性的 C 语言更快。 flownet.com/gat/papers/lisp-java.pdf
标签: c performance compiler-construction programming-languages scheme