2012-05-06 180 views
4

我在本页阅读http://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/以下内容:C++优化/优化

C++提供了四种语言的最快运行时间。但是,该论文指出,它还需要更广泛的“调整工作,其中许多工作都是在普通程序员无法获得的复杂程度上完成的。”

我是一个很大的C++粉丝,显然还在学习。我的问题是“调整努力”是什么意思?他们是指编译器设置还是仅使用复杂的编码技术?任何例子,将不胜感激。

+4

你为什么不自己看报纸? –

+0

@Benjamin:谢谢你阅读这篇论文。调音音符比我预期的要好。 – sarnold

+0

@sarnold调优笔记相当令人失望:第一位发现哈希集更快并找出合适的密钥的工程师使性能提高了45%!另一位工程师为10%的树设置了替代方案,其余的人在这里和那里得到2..3%的工作量。故事的寓意:学习你的数据结构:) – dasblinkenlight

回答

0

根据我对这些语言的经验,我会说它指的是编译和链接的过程。我知道,当我需要编译一个使用C++或Java中的许多库的程序时,在使用java时比使用C++时编译器需要的参数少得多。我没有使用Go或Scala来处理大型项目,所以我无法对这些进行公平比较。同样在C++中,如果你愿意的话,使用指针确实需要很多调优。当你开始在C++中使用复杂的数据类型时,它会非常快速地变得非常复杂。这可能根本没有帮助,但从我所知道的经验来看。

我也更喜欢C++。我从来没有解决过使用Java提供的解释型语言的想法,就像我之前说过的,我还没有使用Scala或Go还没有得到公正的报告。但就“调整努力”而言,这就是我所知道的。

编辑:

对不起,我应该做我的研究,调整纸张指的是原来的基准测试程序的只是修改,在原来问题的意见废弃。

+0

被打乱,没有被解释:) – Mehrdad

+0

哈哈,对不起。是的,JITed。它只是不正确。 – Figitaki