--- On Tue, 5/12/09, Claude Heiland-Allen claudiusmaximus@goto10.org wrote:
From: Claude Heiland-Allen claudiusmaximus@goto10.org Subject: Re: [PD] Abstraction load time To: "Jonathan Wilkes" jancsika@yahoo.com Cc: pd-list@iem.at Date: Tuesday, May 12, 2009, 12:39 PM Hi,
Jonathan Wilkes wrote:
I've been doing a lot of dynamic patching and
notice that using abstractions slows down the process immensely.
That's because Pd tries to load the abstraction from everywhere in its -path (which can be a large number of places), then parses the text and uses it to create obects - all of this EVERY time it is instanced.
Why is it that test-abs.pd is so much slower than
test-sp.pd (which just creates chains of internal objects in a subpatch)?
Is there any way this could be sped up in future
versions of pd? I find dynamic patching to be a powerful idiom when used with abstractions, but its kind of clunky right now because of the lengthy creation time.
A quick and dirty attempt at caching abstractions in memory:
http://lists.puredata.info/pipermail/pd-dev/2008-10/012334.html
Ah, that answers my question. Thanks for the explanation and link. Does the solution you came up with affect the load time of abstractions that are created after the patch has already been loaded?
Also, I haven't checked the patches you attached, I hope you're turning dsp off before doing the dynamic patching and turning it on again (if desired) afterwards, otherwise the dsp graph is rebuilt after every object instead of just once (as far as I understand it).
Oops, I didn't turn dsp off. Checking it now, it does increase load time a bit, though not nearly as much as using an abstraction instead of a chain of internal objects.
Thanks, Jonathan
Claude -- http://claudiusmaximus.goto10.org