Jackdmp "direct" version to test

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Jackdmp "direct" version to test

Stéphane Letz
Hi Andrzej,

I implemented the direct call optimization I told you about in a new  
"direct" branch in jackdmp SVN. This new version is able to optimize  
client activation by directly calling the "Process" callback in case  
clients are connected in sequence in a same process (the server or  
any separated process). That is if c1 -> c2 -> c3 -> c4 live in the  
server, then the audio driver will directly call c1,c2,c3,c4 Process  
callback in sequence. Note that if several parallel sequences exist,  
then the optimization works for each separated sequence, that is if  
we have c1 -> c2 -> c3 -> c4, and c5 -> c6 -> c7 -> c8, the audio  
driver will directly call c1,c2,c3,c4, resume c5 with the standard  
fifo based mechanism and the c5 thread then will call c5,c6,c7,c8 in  
sequence. Same optimization happens for clients in separated processes.

The optimization is obviously better visible with a lot of clients in  
a same process, and small buffer sizes. I tested it on OSX with a 4  
cores machine, and results are quite good. For 10 metro like clients  
connected in sequence running at 64 frames: fifo based activation  
system gives 12% jack CPU load when "Direct call" version gives 4%  
jack CPU load. I also tested your "jacksbench" tools with the  
expected results.

I did not test it on Linux and am interested by the results you could  

The code is available at: svn co http://subversion.jackaudio.org/ 
jackmp/branches/direct.  A new parameter -C allows to activate  
"direct call" mode. By default  "direct call" mode is off.


This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
Jackit-devel mailing list
[hidden email]