Thomas Grill wrote:
i did some profiling of mass2D and here are some more points:
- since the length of the argument lists are checked at the beginning of
the methods, don't use atom_getfloatarg since it can't be inlined. it's better to use a macro instead
- it's preferable to use inverse masses and distances to avoid divisions
- the random generator sucks a lot of cpu power and can be optimized
(although i don't get the meaning of the range parameter there)
attached is a diff where all the mentioned points are implemented
wow, thanks a lots.
i'll make the modification as soon as possible...
cyrille
best greetings, Thomas
Am 17.03.2005 um 00:06 schrieb Thomas Grill:
Hi all, now i had a look into pmpd - it's a shame i didn't do earlier, and it's great! It would be good to do some optimization though - only by recompiling the Windows dll with some different flags and changing a bit of suboptimal code the demo-patches were up to 3 times faster than before.
- in many methods in the source gensym calls are used, although they
generate the same symbols at every call - it would be good to generate these symbols in the setup functions and cache them for use by outlet* calls.
- pow(f,2) is used instead of f*f
- reference expressions are often repeated verbatim, although they
could be replaced by a pointer
- the makefile in the src directory has no optimization flags at all
for msvc++. It should have /Ox /G7 or similar, depending on the cpu
best greetings, Thomas
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://iem.at/cgi-bin/mailman/listinfo/pd-list