/
mayaoaoa
/
HSE_python
Обзор
Документация
Войти
/
mayaoaoa
/
HSE_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
matrix2.py
62 строки
2 KB
mayaoaoa
upload (already done at class)
07 дек 2025, 01:18
07 дек 2025, 01:18
e9b0970
Код
Авторство
О чём код?
import time from datetime import datetime import numpy as np def log_execution_time(func): def wrapper(*args, **kwargs): filename = "matrix_multiply2.txt" start_time = time.time() start_datetime = datetime.now() result = func(*args,**kwargs) end_time = time.time() end_datetime = datetime.now() execution_time = end_time - start_time print(f"Продолжительность умножения: {execution_time:.6f} секунд") with open(filename, "a", encoding='utf-8') as f: f.write(f"\n=============================================\n") f.write(f"Время начала: {start_datetime}\n") f.write(f"Время окончания: {end_datetime}\n") f.write(f"Продолжительность: {execution_time:.6f} секунд\n") f.write(f"Размер матрицы: {n}\n") return result return wrapper n = 1000 matrix1 = np.random.randint(-100, 100, size=(n, n)) matrix2 = np.random.randint(-100, 100, size=(n, n)) @log_execution_time def multiply(matrix1, matrix2): return np.dot(matrix1, matrix2) @log_execution_time def multiply_old(matrix1, matrix2): m1 = matrix1.tolist() m2 = matrix2.tolist() res = [[0 for _ in range(n)] for _ in range(n)] for i in range(n): for j in range(n): for k in range(n): res[i][j] += m1[i][k] * m2[k][j] return res print("Numpy multiply") res1 = multiply(matrix1, matrix2) print("\nOld multiply") res2 = multiply_old(matrix1, matrix2)