首页 > 解决方案 > 如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异?

问题描述

'''

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 代码的错误。我也无法计算差异。

标签: pythontimeexecution

解决方案


使用 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)

推荐阅读