On Wed, Jan 10, 2018 at 04:01:55PM -0500, Paul Davis wrote:
In the scheme of things, a context switch is typically
not very expensive
compared to a typical audio buffer size (say 16 samples and up). The only
way it gets unusually expensive is if a process touches a lot of memory
during its execution. This isn't impossible in an audio/DSP context, but it
isn't very likely either.
My impression is that context switches are cheap compared to cache misses.
And those you'll have anyway.
As opposed to
a typical plug-in architecture where everything runs under
the host process. It is amazing to me that an interprocess scheme wouldn’t
run into major problems under compute load when running with the small
buffers needed for low latency.
be amazed :)
My work is to develop DSP algorithms, and it's all done on Linux. I write
each of them as a Jack client which is also a Python class. So they can be
scripted, use OSC, have a PyQt Gui, interface to hardware controllers, or
whatever I need very easily. It's an extremely flexible way of doing things.
A typical test or demo setup consists of between 10 and 30 of such modules.
Most of my colleagues do similar work. They write VST plugins which they
run in Plogue Bidule on Windows. On the same hardware they easily get into
CPU load problems while the Linux/Jack/Python version of the same patch
runs happily taking only 30% CPU load.
So yes, be amazed.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)