[PD] Findings regarding performance

Jonathan Wilkes jancsika at yahoo.com
Thu Dec 1 17:21:48 CET 2011





----- Original Message -----
> From: Mathieu Bouchard <matju at artengine.ca>
> To: Jonathan Wilkes <jancsika at yahoo.com>
> Cc: Roman Haefeli <reduzent at gmail.com>; PD list <pd-list at iem.at>
> Sent: Thursday, December 1, 2011 10:55 AM
> Subject: Re: [PD] Findings regarding performance
> 
> Le 2011-12-01 à 07:00:00, Jonathan Wilkes a écrit :
> 
>>  After looking at d_arithmetic.c, I'm curiouswhy there is 
> scalartimes_perform and scalartimes_perf8?
> 
> One is made for blocksizes at least 8, and the other for blocksizes 1,2,4.

Ok, so perf8 corresponds to "at least 8".  Thanks.

> 
> Perf8 is a kind of explicit loop-unrolling, coded to greatly reduce the number 
> of conditional jumps when looping a lot on tight loops. Conditional jumps are 
> extremely slow on modern CPUs, and this affects if/else/for/do/while/switch as 
> well as function pointers and virtual function calls.

But there aren't any conditionals inside the loop-- it's just multiplication operators.

-Jonathan

> 
> ______________________________________________________________________
> | Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
> 



More information about the Pd-list mailing list