请问用C#比较串行和并行计算时间,为什么加thread.sleep(1)串行比较并行慢,不加就快?
请问用C#比较串行和并行计算时间,为什么加thread.sleep(1)串行比较并行慢,不加就快?
程序如下:
/*************************************************************************/
/*******************串行按行求和存入数组sum_c中*************************/
/*************************************************************************/
watch.Start();//开始测试时间
Console.WriteLine("\n\n串行\0行和");
for (int r = 0; r < r_a; r++)
{
for (int c = 0; c < c_b; c++)
{
Serialsum[r, c_b - 1] += m3[r, c];
//Thread.Sleep(1);
}
// Console.Write("第{0}行输出{1}\t", r + 1, Serialsum[r, c_b-1]);
Console.Write("{0}\t", Serialsum[r, c_b - 1]);
//r_storage[r,1]=Serialsum[r,c_b-1];
//Console.Write("\n数组r_storage{0}\t", r_storage[r, 1]);
}
// Console.Write("行求和输出{1}\t\t", sum_c);
Console.Write("\n串行\0列和\n");
Serialsum = null;//数组及时清零
Serialsum = new int[r_a, c_b];//重新定义
/*******************串行按列求和存入数组sum_c中************************/
for (int c = 0; c < c_b; c++)
{
for (int r = 0; r < r_a; r++)
{
Serialsum[r_a - 1, c] += m3[r, c];
// Thread.Sleep(1);
}