这真的非常依赖于算法和CPU。即使没有并行化,在CPU上表示相同步骤的方式也有很大的自由度,并且同一系列的不同CPU之间的差异(各种操作所需的时钟周期)也是如此。不要忘记,现代CPU自己添加了一些指令的并行化。编译器完成的优化将对重新排序内存顺序和分支产生影响,即使您没有指定,也可能会将指令转换为矢量化指令。根据其他因素,它可能会产生影响,无论您的矩阵是在内存中的固定位置,还是通过指针访问它们,以及它们是动态分配固定大小还是每行/列。不要忘记内存缓存,页面失效和操作系统调度,就像我在以前版本的答案中所做的那样。
如果这是你自己的 的 粗 强> 估计或者对于“典型”案例,只要编写程序,运行它就不会有太大的错误 的 在您的特定条件下 强> (如上所述)在n = 1000的许多重复中,并计算平均值。
如果你想为更糟糕的结果付出很多努力,你实际上可以在你原来的问题中做你可能想做的事情:
说真的,这不值得付出努力,无论如何,基准测试更快,更清晰,更精确(因为这不会考虑分支预测器和超线程以及内存缓存和其他架构细节中发生的事情)。如果你想进行锻炼,我会留给你。