Hi,

>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.

jjc

 
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to