[PD] Findings regarding performance

Mathieu Bouchard matju at artengine.ca
Thu Dec 1 16:55:00 CET 2011

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.

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.

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

More information about the Pd-list mailing list