都进行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