Why is numpy.random.choice so slow?
The take-home message is that vectorizing or parallel computing is very well implemented in numpy. Do take advantage of this!
- Instead of
import numpy as np
for i in range(10000):
print( np.random.choice(a=np.arrange(10)) )
- do something like
import numpy as np
for i in np.random.choice(a=np.arrange(10), size=10000, replace=True):
print(i)
- This would save you more than 10000x time