>And from an ancient message by Paul on why alsa-lib wasn't enough:
>
>> Establishing connections: alsa-lib offers one model for this, based on the
>> shared memory IPC mechanisms. Such a solution cannot scale to setups with
>> lots of clients running at low latencies because of the overhead of
>> context switching and the associated memory/cache performance loss.

heh. self->shoot (self->foot). self->mouth.place (self->foot).

that was before i measured it. i was wrong, plain and simple. it costs
us (very rougly) about 50usecs per switch, depending on how much data
the client touches. this is a real cost, but its not unbearable,
especially given what it buys us (clients in their own VM space, with
their own GUI toolkits/models/whatever).

but no, it won't scale to *lots* of clients at low latencies, even
so. for that, things have to be in-process clients, which is much
harder for application writers.

--p

Reply via email to