[SciPy-User] Proposal for a new data analysis toolbox

Keith Goodman kwgoodman at gmail.com
Thu Nov 25 11:59:18 EST 2010


On Thu, Nov 25, 2010 at 1:30 AM, Sebastian Haase <seb.haase at gmail.com> wrote:

> In [18]: timeit ds.mean(arr)
> 100000 loops, best of 3: 16.6 us per loop

To get rid of some overhead, you can call the underlying function:

>> arr = np.arange(10000, dtype=np.float64)
>> timeit ds.mean(arr)
100000 loops, best of 3: 17.7 us per loop
>> timeit ds.func.mean_1d_float64_axis0(arr)
100000 loops, best of 3: 15.1 us per loop

The overhead is more important, of course, for small arrays:

>> arr = np.arange(100, dtype=np.float64)
>> timeit ds.mean(arr)
100000 loops, best of 3: 3.25 us per loop
>> timeit ds.func.mean_1d_float64_axis0(arr)
1000000 loops, best of 3: 949 ns per loop

And can add up for min, mean, max:

>> timeit ds.min(arr); ds.mean(arr); ds.max(arr)
100000 loops, best of 3: 10 us per loop
>> min, a = ds.func.min_selector(arr, axis=0)
>> max, a = ds.func.max_selector(arr, axis=0)
>> mean, a = ds.func.mean_selector(arr, axis=0)
>> timeit min(a); mean(a); max(a)
100000 loops, best of 3: 2.65 us per loop



More information about the SciPy-User mailing list