[PD] Re: new pmpd developer
Thomas Grill
gr at grrrr.org
Thu Mar 17 15:04:56 CET 2005
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
best greetings,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: masse2D.c.diff
Type: application/octet-stream
Size: 13047 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20050317/2496d9ed/attachment.obj>
-------------- next part --------------
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 at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://iem.at/cgi-bin/mailman/listinfo/pd-list
>
More information about the Pd-list
mailing list