package main import ( "fmt" "strconv" "time" "zhimolostnova_anna_lab_5/util" ) // Последовательное умножение двух квадратных матриц func multiplyMatricesSequential(a, b [][]int) [][]int { size := len(a) result := make([][]int, size) for i := range result { result[i] = make([]int, size) for j := 0; j < size; j++ { for k := 0; k < size; k++ { result[i][j] += a[i][k] * b[k][j] } } } return result } // Функция для бенчмарка последовательного умножения func benchmarkMatrixMultiplicationSequential(sizes []int) { for _, size := range sizes { matrixA := util.CreateMatrix(size) matrixB := util.CreateMatrix(size) start := time.Now() _ = multiplyMatricesSequential(matrixA, matrixB) elapsed := time.Since(start) fmt.Printf("Sequential multiplication of matrix %sx%s took %s\n", strconv.Itoa(size), strconv.Itoa(size), elapsed) } } func main() { // Список размерностей матриц sizes := []int{100, 300, 500} // Запуск бенчмарка benchmarkMatrixMultiplicationSequential(sizes) }