On 3/19/07, Travis Oliphant <[EMAIL PROTECTED]> wrote:

Mark P. Miller wrote:

>Robert:  Just a thought on this topic:
>
>Would it be possible for the Scipy folks to add a new module based
>solely off your old mtrand code (pre-broadcast)?  I have to say that the
>mtrand code from numpy 0.9.8 has some excellent advantages over the core
>python random number generators.
>
>This would allow Scipy to have a pure random number generator, whereas
>numpy could keep its fancier (but slower) array-based random number
>generators.
>
>

I've just added a faster path through the random-number generators for
scalar parameters to the SVN code tree.

It would be great if those who use this could check to see if

1) it is correct
2) it is indeed faster for scalar parameters


It looks much better from the speed standpoint. Using the dirty benchmark I
used in an earlier post I get

In [5]: t1.timeit(100)
Out[5]: 0.088869810104370117

In [6]: t2.timeit(100)
Out[6]: 0.12822699546813965

whereas before I got

In [22]: t1.timeit(100)
Out[22]: 0.086430072784423828

In [23]: t2.timeit(100)
Out[23]: 4.276231050491333

i.e. about a 33x speedup. Good job! There is probably a bit more to be
gained but I'm not sure it's worth the effort.

Here is a quick test of normal:

In [9]: a = numpy.random.normal(2,3,10000)

In [10]: a.std()
Out[10]: 2.96173131656

In [11]: a.mean()
Out[11]: 2.0158598547

So that's within the expected error.

Chuck
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to