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(); } }