can this be made faster?

A. M. Archibald peridot.faceted at
Mon Oct 9 13:30:03 CDT 2006

On 09/10/06, Robert Kern <robert.kern at> wrote:
> Daniel Mahler wrote:
> > In my case all a, b, c are large with b and c being orders of
> > magnitude lareger than a.
> > b is known to contain only, but potentially any, a-indexes,  reapeated
> > many times.
> > c contains arbitray floats.
> > essentially it is to compute class totals
> > as in total[class[i]] += value[i]
> In that case, a slight modification to Greg's suggestion will probably be fastest:

If a is even moderately large and you don't care what's left behind in
b and c you will probably accelerate the process by sorting b and c
together (for cache coherency in a)

This seems like a rather common operation - I know I've needed it on
at least two occasions - is it worth creating some sort of C
implementation? What is the appropriate generalization?

A. M. Archibald

Take Surveys. Earn Cash. Influence the Future of IT
Join's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash

More information about the Numpy-discussion mailing list