35 lines
1.5 KiB
C#
35 lines
1.5 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using rvip_6;
|
|
|
|
public class Benchmark
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
int[] matrixSizes = { 100, 300, 500 };
|
|
int[] threadCounts = { 1, 2, 4, 8, 16 };
|
|
|
|
foreach (int size in matrixSizes)
|
|
{
|
|
Console.WriteLine($"Размер матрицы: {size}x{size}");
|
|
Matrix matrix = new Matrix(size);
|
|
|
|
Console.WriteLine("Бенчмаркинг последовательного алгоритма...");
|
|
Stopwatch stopwatchSequential = Stopwatch.StartNew();
|
|
matrix.DeterminantSequential();
|
|
stopwatchSequential.Stop();
|
|
Console.WriteLine($"Время выполнения последовательного алгоритма: {stopwatchSequential.ElapsedMilliseconds} мс");
|
|
|
|
Console.WriteLine("Бенчмаркинг параллельного алгоритма...");
|
|
foreach (int threads in threadCounts)
|
|
{
|
|
Stopwatch stopwatchParallel = Stopwatch.StartNew();
|
|
matrix.DeterminantParallel(threads);
|
|
stopwatchParallel.Stop();
|
|
Console.WriteLine($"Время выполнения параллельного алгоритма ({threads} потоков): {stopwatchParallel.ElapsedMilliseconds} мс");
|
|
}
|
|
Console.WriteLine("-----------------------------");
|
|
}
|
|
Console.ReadKey();
|
|
}
|
|
} |