Example #1
0
        public void MatrixSpeedComparison_ParallelMulShouldBeFasterThanUsualMul()
        {
            const int matSize = 300;
            var       m1      = new Matrix(matSize, matSize);

            m1.FillRandom();
            var m2 = new Matrix(matSize, matSize);

            m2.FillRandom();

            var usualMulTime = new Stopwatch();

            usualMulTime.Start();
            var r1 = m1 * m2;

            usualMulTime.Stop();

            var parallelMulTime = new Stopwatch();

            parallelMulTime.Start();
            var r2 = m1.ParallelMul(m2);

            parallelMulTime.Stop();
            Console.WriteLine($"{parallelMulTime.ElapsedMilliseconds} {usualMulTime.ElapsedMilliseconds}");

            Assert.IsTrue(parallelMulTime.ElapsedMilliseconds < usualMulTime.ElapsedMilliseconds);
        }