Le 2012-03-03 à 10:32:00, katja a écrit :
I fail to see how those C wrappers could be inlined. Wouldn't that undo
their raison d'être (replacing a C++ call with a C call)? But indeed
function call overhead is small when compared to number-crunching, if
these calls are done per block and not per sample.
If a function is only called from a single location and the function is
hidden, then the original function may disappear and become embedded into
the wrapper. I don't see GEM hiding its classes in such a manner. What
might happen instead, is that a lot of code gets duplicated into the
wrapper. This makes the executable bigger, but you still get the extra
speed from inlining that way (for small functions).
The « omit frame pointer » optimisation may cut a lot of the overhead
while reducing code size, for function calls that are not inlined.
______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list