2012-05-06 181 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