我制作了 wcf 服务,我在 azure 中以 Web 角色托管。角色的实例特别大(它只是一个实例),它有 8 个核心。我在服务中有两个方法。方法是计算矩阵乘法,一种是顺序编程,另一种是并行(使用Parallel.For),结果是顺序编程比并行快。难道我做错了什么?我正在监视处理器工作,当我开始并行计算时,所有内核都被使用,但结果并不好......这是并行编程矩阵乘法的代码
ParallelOptions p = new ParallelOptions();
p.MaxDegreeOfParallelism=8;
Parallel.For(0, n,p, i =>
{
for (int j = 0; j < n; j++)
{
suma = 0;
for (int k = 0; k < n; k++)
{
suma = (matricaA[i, k] * matricaB[k, j]);
}
proizvod[i, j] = suma;
}
}