timowest / rogue

multimode softsynth
GNU General Public License v3.0
31 stars 4 forks source link

Improve performance #64

Open timowest opened 11 years ago

timowest commented 11 years ago

Results using gprof

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  us/call  us/call  name    
 58.77      2.38     2.38  2000000     1.19     1.19  dsp::MoogFilter::process(float*, float*, int)
 12.10      2.87     0.49                             rogue::rogueVoice::render(unsigned int, unsigned int, unsigned int)
 11.61      3.34     0.47  2000000     0.24     0.24  dsp::StateVariableFilter2::process(float*, float*, int)
  6.17      3.59     0.25  4000000     0.06     0.78  rogue::rogueVoice::runFilter(unsigned int, unsigned int, unsigned int)
  5.93      3.83     0.24  2000000     0.12     0.12  dsp::Virtual::el_saw(float*, float*, int)
  5.19      4.04     0.21  8000000     0.03     0.06  rogue::rogueVoice::runOsc(unsigned int, unsigned int, unsigned int)
  0.25      4.05     0.01  2000000     0.01     0.01  dsp::Virtual::process(float*, float*, int)
  0.00      4.05     0.00  2000000     0.00     0.00  dsp::AHDSR::innerTick(int)
  0.00      4.05     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN3dsp7Virtual6va_sawEPfS1_i
  0.00      4.05     0.00        1     0.00     0.00  dsp::tanhtable::tanhtable()

Reading http://gcc.gnu.org/projects/tree-ssa/vectorization.html#using