Convolver

Home News Download Usage Command line utilities Feedback Troubleshooting Links

perftest

 
Web This site

perftest MaxnPartitions nIterations nTuningRigour config.txt|IR

perftest runs nIterations successive optimum attenuation calculations for the filter set specified in config.txt or WAV file IR for each of 0 through MaxnPartitions partitions.  This can be used to determine the optimum number of partitions for a particular filter. nTuningRigour can be anything between 0 (Estimate) to 4 (Exhaustive).  1 is a good default.

The output, which can be redirected to a file for analysis in Excel, looks something like

C:\>perftest 8 2 1 benchmark.txt
6 Paths (6 channels to 6-channel direct) 48kHz, 131072 taps, 2.7s lag

6 Paths (6 channels to 6-channel direct) 48kHz, 131072 taps, 2.7s lag
Partitions Rate SecCalc SecLoad Attenuation Filter Length Partition Length Iteration
0 7.22 1.89 0.554 16.2 131072 131072 1
0 7.31 1.87 0.574 16.3 131072 131072 2
1 7.01 1.95 0.57 16.4 131072 131072 1
1 6.99 1.95 0.566 16.5 131072 131072 2
2 7.31 1.87 0.557 16.4 131072 65536 1
2 7.21 1.89 0.556 16.3 131072 65536 2
3 6.19 2.2 0.557 16.4 131220 43740 1
3 6.31 2.17 0.562 16.4 131220 43740 2
4 7.04 1.94 0.541 16.3 131072 32768 1
4 7.09 1.93 0.529 16.3 131072 32768 2
5 6.23 2.19 0.544 16.2 131220 26244 1
5 6.21 2.2 0.539 16.2 131220 26244 2
6 5.19 2.63 0.546 16.3 131220 21870 1
6 5.08 2.69 0.558 16.1 131220 21870 2
7 4.7 2.91 0.556 16.2 131250 18750 1
7 4.69 2.91 0.554 16.3 131250 18750 2
8 5.4 2.53 0.537 16 131072 16384 1
8 5.41 2.52 0.536 16.5 131072 16384 2
             
Total load time: 9.94s          
Total execution time: 40.2s          
Total execution time: 40.2s          

  • The SecCalc column is the time in seconds taken to calculate the optimum attenuation value (which involves processing 10 filter lengths).
  • The Rate column is a measure of the processing time relative to real time. So a value of 2 would indicate processing at double the playback rate. In this case (which involves 6 48kHz 65536-tap filters) on a 2GHz Pentium M 760, 0, 2 or 4 partitions is probably best — the more partitions, the lower the lag.  A rate of about 7 is equivalent to consuming almost 15% of the CPU. Note that the calculation of optimum attenuation involves generating, which means that actual convolution performance is understated by about 5% (ie, the above example would actually execute in about 38s, if the random number generation was excluded).
  • The convolution algorithm — overlap save/add — zero pads the (in this case 65536-tap) filter to at least double its original length. The filter length is also the product of the number of partitions and the partition length. The length may vary because sometimes a longer filter convolves faster.
  • SecLoad is the time taken to load and prepare the filter.

 

Home ] Up ] [ perftest ] convolverCMD ] ConvolverPipe ] makeIR ] comparewavs ]

Send mail to with questions or comments Convolver or about this web site.
Copyright © 2006-8 Convolver
Last modified: 16-Jan-2008 20:24 -0000 SourceForge.net Logo