public class Benchmark {
    public static void main(String[] args) {
        int[] sizes = {100, 300, 500};
        for (int size : sizes) {
            int[][] matrixA = MatrixGenerator.generateMatrix(size);
            int[][] matrixB = MatrixGenerator.generateMatrix(size);

            long startSequential = System.nanoTime();
            MatrixMultiplication.multiply(matrixA, matrixB, 1);
            long endSequential = System.nanoTime();
            System.out.println("Последовательно (" + size + "x" + size + "): " + (endSequential - startSequential) / 1_000_000 + " ms");

            for (int numThreads : new int[]{2, 4, 8}) {
                long startParallel = System.nanoTime();
                MatrixMultiplication.multiply(matrixA, matrixB, numThreads);
                long endParallel = System.nanoTime();
                System.out.println("Параллельно (" + size + "x" + size + ", " + numThreads + " потоков): " +
                        (endParallel - startParallel) / 1_000_000 + " ms");
            }
        }
    }
}