都進行Fib數列計算,計算到n=40的計算時間:
注意:開始,我以為上圖中的第二列就是代表C++的性能。但是現在發現,完全不正確。
如果你使用同樣的抽象和同樣的邏輯去實現同樣的代碼,C和C++的性能幾乎是嚴格相等的。 C++可能會鼓勵你使用運行效率更低,但是開發效率更高的抽象(例如使用相對復雜的Function Object),但是你可以選擇不用。更多的,C++的還會有諸如inline之類的機制來改善效率。 --- 通常談語言也會比較它們的標准庫,例如C++的std::sort肯定比C的qsort快(因為template function的優點,甚至可以做specialization),但C++的iostream系列又比C的printf系列慢(見iostream 是 C++ 的缺陷嗎,為什么? - Milo Yip 的回答)。 由於C++的標准庫功能比C大得多,許多時候可以用較少的代碼及時間實現相同的算法。
參考以下這篇文章:
https://www.zhihu.com/question/19779887