On Tue, May 06, 2008 at 12:10:38AM +0200, Jens M Andreasen wrote: > On Mon, 2008-05-05 at 23:32 +0200, Jens M Andreasen wrote: > > > > clock: 4020 ms (_Complex) > > > clock: 1550 ms (cvec_t) > > > clock: 70000 ms (original float array[N][2]) > > Wait a second ... It's a trick! :-D > > The compiler splits the iterations up in smaller parts that fits in the > cache and runs them in succesion.
I've know one what that even more clever. It just noticed I didn't use the result, and skipped the whole loop. After each iteration, call an empty function, separately compiled, that takes all three vectors as arguments (and _not_ as const * of course). No more tricks. The overhead is peanuts compared to the calculation. Ciao, -- FA Laboratorio di Acustica ed Elettroacustica Parma, Italia Lascia la spina, cogli la rosa. _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
