On 07/07/21 21:44, Fons Adriaensen wrote:
On Wed, Jul 07, 2021 at 01:00:21PM +0200, Wim Taymans
wrote:
Challenge accepted!... I made a little jack
client with 32 input and 32 output
ports that memcpy the samples. Then I started 16 of those and linked them
all in a long chain.
Then I linked the input of the chain to a USB mic and the output to another
USB card (it needs to do adaptive resampling to keep this going),
That takes about 6 seconds to setup on my machine. I run this with a buffer
size of 128 samples and 48KHz.
...
With jack1 this fails miserably. Reason is probably that jack1 recomputes
the graph for each and every connection change, even if the actual client
dependencies don't change [1].
...
[1] This was one of the many things that my rejected patch (years ago) actually
fixed. IIRC the complexity of jack_connect() in jackd1 is at least O(n^2) if
not O(n^3) where n is the number of existing connections - this doesn't scale.
Except your patch was super messy, not formatted correctly and lead to
other issues, as described here:
https://lists.linuxaudio.org/archives/linux-audio-user/2021-February/113821…
and then Rui added a note:
https://lists.linuxaudio.org/archives/linux-audio-user/2021-February/113822…
You keep mentioning up that patch, but it only worked for you, it didn't
for anyone else.