Lorenzo wrote:
Hi list,
I'm already on the pd-list. I signed up to the pd-dev as I'm starting to look into some (simple) external development.
cool. please note that pd-dev has the same netiquette as pd-list, that e.g. asks you to not hijack another thread for your unrelated postings. seehttp://puredata.info/community/lists/Netiquette#Threads
Wops, sorry about that :)
First, though, I thought it would be wise to ask when is it really worth to write an external vs using directly pd abstractions considering the various c/b? Is this in some way 'measurable'?
yes. relate the time spent writing one solution (including learning to actually do it plus doing big-fixes) to its relevant benefits (does it work? what's the performance? is it portable? ...) and compare the scalars you get for the various solutions:-)
Ok, but what I mean is also if there's some rule of thumb? My impression for example is that significant changes are only when dealing with signals or arrays (unless you're doing some really heavy heavy maths)? Also, which would me a good method for measuring?
Lorenzo
On 2010-03-16 12:07, Lorenzo wrote:
Ok, but what I mean is also if there's some rule of thumb? My impression
well, it really all depends on your skills in patching and C-coding (or python, lua, ...)
anyhow, i would say that you should go for the abstraction implementation, unless it is either not possible at all to do what you want as an abstraction, OR you really need to few extra percent of CPU.
and probably one more reason: if you know that you can implement the entire thing in C within 5 minutes and it will take 3 days to do the patching, i would go for the eternal.
if you are unsure, chances are high that it is possible to do it both as abstraction and external and the few extra percent won't matter. go for the abstraction then.
for example is that significant changes are only when dealing with signals or arrays (unless you're doing some really heavy heavy maths)? Also, which would me a good method for measuring?
hmm, the only comparable "numbers" i can think of, are performance comparisions. create 1000 instances of one implementation and compare it to 1000 instances of another implementation in terms of CPU consumption. of course this only works after you have done both implementations.
fgmadsr IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
and probably one more reason: if you know that you can implement the entire thing in C within 5 minutes and it will take 3 days to do the patching, i would go for the eternal.
And if you want to do something whose outcome you are not yet sure of, i.e. something which might change a lot over the next 3 days, then the faster turnaround times and the ease of testing and livecoding when working with Pd's patching side come in handy as well. And using patching makes your stuff easier to share.
Ciao