Originariamente inviato da
UnixMan
Nota a margine:
prima che me ne dimentichi... ci sono un paio di opzioni (globali) di sox che potrebbero essere importanti:
--buffer
--multi-threaded
quest'ultima abilita l'uso di più thread, cioè la possibilità di suddividere le diverse operazioni svolte internamente da sox tra più CPU/cores diversi: se non è presente quella opzione, per default sox usa sempre un solo "thread", cioè un solo core/CPU.
Questa è un'arma a doppio taglio: da un lato permette di sfruttare meglio le risorse disponibili e quindi di affrontare operazioni più gravose ma, dall'altro, specie se si hanno pochi cores, rischia di "saturare" la CPU, sottraendo risorse alle altre operazioni (e quindi potrebbe rallentare e rendere poco "reattiva" l'interfaccia, o perfino causare "underrun").
La prima opzione imposta invece la dimensione dei buffer (di ingresso, di uscita ed interni) di sox. Il default è 8192 (8k). Se si usa "--multi-threaded" deve essere aggiunta "obbligatoriamente", portando la dimensione dei buffer (come minimo) a quella di default moltiplicata per il numero complessivo di cores/CPU presenti. Ma potrebbe essere vantaggioso aggiungerla (per aumentare la dimensione dei buffer) anche se si usa un solo thread.