经过1万阶二维数组测试,交错数组的速度优于多维数组。
交错数组快 3 倍左右,分别为 800 / 2200 ms。
注意:多维数组采取了行获取优化。若不优化,则为 1700 ms。
代码如下:
/// <summary> /// 比较多维数组和交错数组的速度。 /// </summary> static public void CompareArraySpeed() { int length = 10000; double[][] jiaocuo = new double[length][]; for (int i = 0; i < length; i++) { jiaocuo[i] = new double[length]; } DateTime start = DateTime.Now; for (int i = 0; i < length; i++) { var aa = jiaocuo[i]; for (int j = 0; j < length; j++) { aa[j] = 1; var a = aa[j] * aa[j]; aa[j] = a; } } var span = DateTime.Now - start; Console.WriteLine(span.TotalMilliseconds + " ms"); double[,] duowei = new double[length, length]; start = DateTime.Now; for (int i = 0; i < length; i++) { for (int j = 0; j < length; j++) { duowei[i, j] = 1; var a = duowei[i, j] * duowei[i, j]; duowei[i, j] = a; } } span = DateTime.Now - start; Console.WriteLine(span.TotalMilliseconds + " ms"); }
尚无评论!