【发布时间】:2018-10-14 15:09:13
【问题描述】:
示例代码:
import numpy as np
import math
import time
x=np.ones((2000,2000))
start = time.time()
print(np.linalg.norm(x, 2))
end = time.time()
print("time 1: " + str(end - start))
start = time.time()
print(math.sqrt(np.sum(x*x)))
end = time.time()
print("time 2: " + str(end - start))
输出(在我的机器上)是:
1999.999999999991
time 1: 3.216777801513672
2000.0
time 2: 0.015042781829833984
显示 np.linalg.norm() 求解耗时超过 3s,而直接求解仅需 0.01s。为什么 np.linalg.norm() 这么慢?
【问题讨论】:
标签: python performance numpy norm