[Csnd-dev] Parallel Csound performance

Victor Lazzarini <[email protected]> Wed, 29 Oct 2025 22:08:31 +0000
Newsgroups gmane.comp.audio.csound.devel
Message-ID <[email protected]>
I’m back investigating parallel Csound performance and it was interesting to see that
Csound 7 is working well with it, in fact far better than 6.18. 

Running 1000 oscillator instrs for 60 secs I got these stats

ksmps = 100
-----------
single thread: 3.9s
8 threads: 3.9s

ksmps = 150
----------
single thread: 3.5s
8 threads: 2.7s

ksmps = 300
----------
single thread: 3.2s
8 threads: 1.6s

ksmps = 500
----------
single thread: 3.2s
8 threads: 1.2s

ksmps = 1000
----------
single thread: 3.3s
8 threads: 0.8

In comparison with 6.18 the last test ran at 11secs for 8 threads. In fact, 6.18 was always slower in parallel
performance. Something was very broken there. Single-threaded performance is on a par with Csound 7.

I can only think the new parser is working better with the parallel dispatch, or that something else was wrong
in the 6.x and got fixed in 7. Anyway, I am pleased with these results. In general, ksmps=100 seems to be the break even
point, below that multi-threaded performance is always losing. Also ksmps=1000 is more or less the highest gain,
with diminishing returns after that. In my computer, 8 threads seem to be the optimal.

best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland