计算np.random.uniform与np.random.beta的成本

时间:2016-06-02 00:07:02

标签: python memory random time

我有一个使用np.random.uniform的算法我想切换到np.random.beta和/或np.random.gamma来提高近似效率。由于算法已经相当耗时(约8小时)和内存密集型(每个线程5 GB),我想检查是否有任何关于在我尝试运行之前这将花费多少钱的信息。

由于它是在循环内部调用的,我应该假设它不会改变内存需求吗?

运行时间有什么不同?

1 个答案:

答案 0 :(得分:1)

使用ipython测试它:

In [1]: import numpy as np

In [2]: %timeit np.random.random(1000)
100000 loops, best of 3: 9.25 µs per loop

In [3]: %timeit np.random.beta(0.5, 0.5, 1000)
10000 loops, best of 3: 45.3 µs per loop

这意味着因子为5,但它似乎取决于β的参数。

然而,在得出任何结论之前,您应该确保随机数生成是算法的时间限制因素。运行探查器以找出真正的瓶颈所在。