hello,

Le 22/09/2019 à 13:49, Ingo a écrit :
Hi everybody,

I have 3 questions about using the [pd~] object in an efficient way.
I'm trying to spread some heavy sample voices over multiple processor cores.

1)
How can I read from common sample tables (or other parameter tables as well)
without having to load all sample (1 GB of samples) multiple times?
In the back of my head I think I heard about a "share memory" library but
couldn't find anything so far.
have a look at shmem, in deken.


2)
How can I assign a specific [pd~] process to a certain core?
Or does Pd automatically assign a new [pd~] process to another core?
It would obviously not improve anything if both patches were running on the
same cpu core .

This is what the OS is made for. In my experience, it just work.


3)
Is there a way that the [pd~] subprocess can receive the [send] objects
directly from the main process without having to resend each individual
send/receive object to the inlet of the sub process and without having to
build a receive object and then resend it by prepending a header that can
resend everything within the sub process?

No.
but this workaround can be nicely hidden in an abstraction.
you can create a [mysend] abstraction that is composed by a [send $1] and a 
[list prepend $1] connected to a [send to_my_pd_tilde_object] etc...



I'm having a fairly large amount (185) of sends/receive objects and tables
(way more than 10,000 tables!).
Anything that might cut down the work and makes it more efficient to run
would be great!

you can search and replace all "send" to "mysend" on a pd patch using any text 
editor.

cheers
C



Thanks a lot!
Ingo





_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list




_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to