numpy 向量叉积计算时的性能问题

原文链接: numpy 向量叉积计算时的性能问题

上一篇: c++ 输入输出流重定向

下一篇: 强化学习 qlearning CartPole-v0 单网络 学习

在使用np的cross计算叉积时发现该方法貌似有点慢,于是简单做个试验测试下

分别使用np的函数和计算公式分别计算,发现在大数据量下,每次计算一组数据的性能差别较大,但是如果一次计算,速度很快,也就是说在实际应用中尽量减少多次少量的计算,而是转化为单次大量的计算

import numpy as np
import time

num = 100000

a = np.random.randint(-100, 100, (num, 2))
b = np.random.randint(-100, 100, (num, 2))

c1 = []
st = time.time()
for i, j in zip(a, b):
    c1.append(np.cross(i, j))
print(time.time() - st)
c2 = []
st = time.time()
for i, j in zip(a, b):
    c2.append(i[0] * j[1] - i[1] * j[0])
print(time.time() - st)
print(np.all(c1 == c2))
st = time.time()
c3 = np.cross(a, b)
print(time.time() - st)
print(np.all(c3 == c1))

结果

2.922182559967041
0.24434638023376465
True
0.0
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值