首页 > 解决方案 > numpy.random.randint 比 random.randint 慢

问题描述

In [27]: import random as rnd

In [28]: from numpy import random as nrnd

In [29]: %timeit rnd.randint(0,5)
859 ns ± 22.8 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [30]: %timeit nrnd.randint(0,5)
4.53 µs ± 104 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

In [31]: %timeit nrnd.randint(0,10000000)
4.67 µs ± 116 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

In [32]: %timeit rnd.randint(0,10000000)
979 ns ± 25.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Python 3.7.3 (default, Mar 27 2019, 16:54:48)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.

在我的第二个测试用例中,我将随机范围增加到(0,10000000). 由于范围更大,numpy 应该在这个测试用例中表现更好。

为什么numpy.random.randint()花费的时间比内置的多random.randint?这里有什么额外的操作numpy

标签: pythonpython-3.xnumpyrandom

解决方案


推荐阅读