python - 如何使用 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 代码的错误。我也无法计算差异。
解决方案
使用 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)
推荐阅读
- excel - 使用 blob url 以 Angular 7 下载 excel 文件
- typescript - 正确的打字稿类型别名
- c# - 是否可以使用 RabbitMQ 和 gRPC 使用 .NET 对消息进行排队?
- c# - 如何将xml对象映射到列表中
在 C# 中? - javascript - 搜索时不同的选择下拉菜单应具有相同的下拉选项值
- c# - 当用户在 textbox1 和 textbox2 中键入无效字符时,会出现“无效字符消息”并且 textbox1 的文本变为红色
- arrays - 打印二维数组:警告:数组初始值设定项中的多余元素
- linux - 无法完成与 2404:6800:4005:807::200e:80 的 SOCKS5 连接
- python - 如果你做太多'layers.MaxPooling2D()'会发生什么
- azure - 如何在 power shell 中使用 RM 模块获取 Azure App 配置访问密钥