[Ardour-Users] High number of crashes

Lukas Pirl ardour at lukas-pirl.de
Tue Aug 25 16:46:39 PDT 2015


On 08/26/2015 10:37 AM, jonetsu at teksavvy.com wrote:
> What is the difference, in performance, between isolating a plugin in a
> sandbox, and using what is called a plugin host ?

Wasn't this some kind of answered by:

On 08/17/2015 07:36 AM, Robin Gareus wrote:
> On 08/16/2015 08:57 PM, jonetsu at teksavvy.com wrote:
> [..]
>
>> I read recently that Bitwig uses "jails" of some sort (chroot or
>> otherwise container-based) to ensure application stability regarding
>> plugins.
>
> Process separation (no shared memory between the DAW and the plugin).
> Various other DAWs do this too.
>
> It won't happen in Ardour because it does not scale:
>
> <details>
>
> http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-
> make-context.html
> (also has updated data for an i7 and Sandy Bridge).
>
> L1 cache and TLB design has not changed over the last years.
> You can also measure it yourself using lmtools or rt-tools on your
> machine.
>
>
> Assuming 48kSPS / 64[fpp] -> 750 context switches/sec alone for the
> process callback. Multiply that by track-count and by isolated
> plugins/track.
>
> 128 tracks with an EQ, compressor and some other plugin: 512 extra
> context switches per process cycle. That gets you 384K context
> switches
> per second.
>
> A context-switch is a fixed cost (register save/restore) and a
> variable
> cost (TLB shootdown, depends on touched memory). The impact is about
> 10-100 usec.
>
> Now do the maths.. you'll get on the order of ~10ms alone for every
> process cycle only for context-switching (sandboxing) and then you
> have not done any processing nor any i/o.
>
>
> It may work for 4 track Bitwig session with 12 VSTs or thereabouts but
> it's not suitable for any large scale work.
>
> On a side note, this is why jack rocks. The jack process callback just
> activates clients in the same thread without context-switch.
>
> </details>
>
> One option would be to only sandbox selected plugins,.. but still that
> won't solve the actual problem.
>
> I really like your earlier suggestion: "paint with less colors".
> If a plugin causes crashes: Don't use that plugin.
>
> On GNU systems we even have the liberty to fix those plugins and I
> reject crippling a host in order to cope with badly written plugins.
>
> This is not an option with proprietary systems which are further
> driven by marking.

?

Lukas



More information about the Ardour-Users mailing list