我想使用并行处理来获取大型无符号短(16 位)值数组的数组统计信息。
ushort[] 数组 = 新 ushort[2560 * 3072];//x = 行(2560) y = 列(3072)
double avg = Parallel.For (0, array.Length, 这里有什么);
标准差和行平均值的标准差也是如此。
我有这些函数的普通 for 循环版本,与中值过滤器方法结合使用时它们花费的时间太长。
最终产品是尝试为数组获取中值过滤器。但第一步也很重要。因此,如果您拥有很棒的整个解决方案,但如果您也想为第一部分提供帮助,我们将不胜感激。
最佳答案
您尝试过 PLINQ 吗?
double average = array.AsParallel().Average(n => n);
我不确定使用大量 ushort
值时它的性能如何,但值得测试一下它是否满足您的需求。
关于c#-4.0 - Parallel For 对 ushort 数组求和(大数组 18M),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14886105/