交错数组的速度优于多维数组

2016-12-10 9:57:13 来源: Gnsser 发布人:

经过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");
        }


阅读次数: 2154

下一篇: crx2rnx的使批处理语法
上一篇: C#性能优化总结

尚无评论!

返回上一页面