贡献一个问题# Computation - 科学计算
a*a
1 楼
我在PentiumII上写一了一段C++程序,探索基本的vector运算在上面运行的效率。
程序做两种运算,一种是两个矢量逐个相乘,一种是两个矢量做内积。矢量的
长度在400-1000之间。时间量测是用rdtsc指令计算运行的时钟周期数。
结果出现了比较有意思的现象。
逐个相乘有着非常稳定的平均周期数,大概是8,几乎次次如此。求内积则不然。
不仅平均周期数在浮动漂移,而且有时候会蹦到很大的周期数。一般是11-14,最小
可到9,最大则到24。这可能是什么原因导致的呢?
程序做两种运算,一种是两个矢量逐个相乘,一种是两个矢量做内积。矢量的
长度在400-1000之间。时间量测是用rdtsc指令计算运行的时钟周期数。
结果出现了比较有意思的现象。
逐个相乘有着非常稳定的平均周期数,大概是8,几乎次次如此。求内积则不然。
不仅平均周期数在浮动漂移,而且有时候会蹦到很大的周期数。一般是11-14,最小
可到9,最大则到24。这可能是什么原因导致的呢?