python 余弦_Python快速余弦距离

有一种观点认为,numpy的功能不能在cython或numba的帮助下加速。但这并不完全正确:numpy的目标是为各种场景提供出色的性能,但这也意味着在特殊场景下的性能并不完美。在

有了特定的场景,您就有机会改进numpy的性能,即使这意味着要重写numpy的一些功能。例如,在本例中,我们可以使用cython将函数加速到因子4,使用numba可以将因子8加速。在

让我们从您的版本开始作为基线(请参阅答案末尾的列表):>>>%timeit cosine(x,y) # scipy's

31.9 µs ± 1.81 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

>>>%timeit np_cosine(x,y) # your numpy-version

4.05 µs ± 19.2 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit np_cosine_fhtmitchell(x,y) # @FHTmitchell's version

4 µs ± 53.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

>>>%timeit np_cy_cosine(x,y)

2.56 µs ± 123 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

所以我看不到@FHTmitchell版本的改进,但其他方面与您的时间安排没有什么不同。在

向量只有50个元素,所以实际计算需要大约200-300

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值