如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]
Posted
技术标签:
【中文标题】如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]【英文标题】:How do I calculate the difference in execution time between computing sin(x) for 0≤y≤10 with 20000 points by using Numpy vs raw Python? [duplicate] 【发布时间】:2020-07-17 03:10:49 【问题描述】:'''
import timeit
import math
x = np.linspace(0,10,20000)
y = np.cos(x)
%timeit y + 1
(0<=x<=10).all()
for i in range(20000):
y = math.cos(x)
%timeit y + 1
''' 我收到原始 python 代码错误。我也无法计算差异。
【问题讨论】:
在这里使用一些好的时间戳:***.com/questions/38319606/… 【参考方案1】:使用 time.time() 怎么样? (我编辑了代码)
import numpy as np
import time
import math
# Using Numpy
x = np.linspace(0, 10, 20000)
start_time = time.time()
y = np.sin(x)
end_time = time.time()
print(end_time - start_time)
# using raw
start_time = time.time()
y = []
x = [0, 10]
for i in range(20000 - 2):
x.insert(1, i * 10 / 20000)
for element in x:
y.append(math.cos(element))
end_time = time.time()
print(end_time - start_time)
【讨论】:
谢谢吉升。但是您也将 numpy 用于 raw 。 x = np.linspace(0, 10, 20000) 也在 raw 中使用。以上是关于如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在python 3中有效地将原始字节写入numpy数组数据
如何在 numpy / scipy 中获取特定百分位数的索引?