Raven wrote:
> ...
> def main():
>   t = time.time()
>   for i in range(1000):
>     r = hypergeometric(6,6,30,6)
>   print time.time() - t
> 
>   t = time.time()
>   for i in range(1000):
>     r = hypergeometric_gamma(6,6,30,6)
>   print time.time() - t
> 
> and the result is:
> 
> 0.0386447906494
> 0.192448139191
> 
> The first approach is faster so I think I will adopt it.
> 

You should really look into the timeit module -- you'll get nice
solid timings slightly easier to tweak.
Imagine something like:

     import timeit
     ...
     t0 = timeit.Timer(stmt='f(6, 6, 30, 6)',
            setup='from __main__ import hypergeometric as f')
     t1 = timeit.Timer(stmt='f(6, 6, 30, 6)',
            setup='from __main__ import hypergeometric_gamma as f')

     repetitions = 1   # Gross under-estimate of needed repetitions
     while t0.timeit(repetitions) < .25:   # .25 = minimum Secs per round
         repetitions *= 10
     print 'Going for %s repetitions' % repetitions
     print 'hypergeometric:', t0.repeat(3, repetitions)
     print 'hypergeometric_gamma:', t1.repeat(3, repetitions)

--Scott David Daniels
[EMAIL PROTECTED]
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to