|Subject:||Re: [fluid-dev] parallel loading of soundfont samples|
|Date:||Tue, 27 Oct 2020 16:53:28 +0100 (CET)|
>I did look through the sfloader code and I can see it's not easy to restructure it to use multiple threads.
>Still, I think parallel loading of the soundfonts would be a good
optimization that would benefit every application using Fluidsynth.
Before doing any attempt to restructure it to use multiple threads, may I suggest you doing a simple test to check where is the bottleneck ?.
- 1) doesn't the bottleneck is in SF3 time decoding ?.
- 2) doesn't the bottleneck is in disk file reading ?.
Case 2 is frequent, to verify this you only need to do a simple test program like that:
Make a script that run two instance of fluidsynth application console(a1,a2) .
In a1 load a soundfont sf1 into it.
In a2 load a soundfont sf2 (a copy of sf1 with different name to get same size than sf1).
Measure the total time. If total time is twice than using only one application instance, that means that there is a bottleneck on reading disk file. In this case
I am affraid that using multiple thread to do SF3 decoding will augment the total loading time.
(Of course instead of making a script you can write a C program).
To verify case 2) you can also try to put distinct soundfont (sf1,sf2) on distinct hard disk filesystem, to see if the total loading time change.
Those tests are quite easy to do.
|[Prev in Thread]||Current Thread||[Next in Thread]|