我做了很多计算,在这中间,我得到了一个结果,称之为 X。
我有一些与 X 相关的变量:
X_sum : 到目前为止的总数
X_sumOfSquares:顾名思义;每次产生 X 时 (X*X) 的总和,所以基本上是 X^2 的总和。
N : 计算 X 的操作被调用的次数
最后,我使用这些数字根据我拥有的样本的平均值计算 X 的真实平均值应该位于的置信范围。
无论我要达到什么目标,我的问题是:
假设我计算 X 1000 次,所以 N = 1000。哪种方法更快:
- 每次我有 X 时更新 x_sum 和 x_sumOfSquares。
- 在开始时创建大小为 1000 的数组,将 X 的所有值存储在该数组中。最后遍历数组并计算 x_sum 和 x_sumOfSquares。
对于第二种方法,确实应该有一种方法可以对这种方法进行矢量化,在 C++ 中有一些方法可以做到这一点,例如我记得英特尔 C++ 对这种简单的情况进行了一些自动矢量化,但我不知道该怎么做在 C# 中。