vm / app_cpppy /test.py
bitterapricot's picture
fix error.
02252d8
Raw
History Blame Contribute Delete
828 Bytes
import numpy as np
import time
import os
import sys
import app_cpppy # 导入C++扩展
def python_matmul(x, y):
return np.dot(x, y)
size = 1000
a = np.random.rand(size, size).astype(np.float64)
b = np.random.rand(size, size).astype(np.float64)
try:
# 测试C++扩展
start = time.time()
cpp_result = app_cpppy.matrix_multiply(a, b)
cpp_time = time.time() - start
except Exception as e:
cpp_time = time.time() - start
cpp_result = f'❌ Import failed: {e}'
# 测试Python实现
start = time.time()
py_result = python_matmul(a, b)
py_time = time.time() - start
# 验证结果一致性
diff = np.abs(cpp_result - py_result).max()
res = {
"cpp_time": cpp_time,
"python_time": py_time,
"speedup": py_time / cpp_time if cpp_time > 0 else 0,
"max_difference": diff,
"matrix_size": size
}
print(res)