[Audio-engine-dev] Benchmark for Gervill 0.3

Karl Helgason kalli at midverk.is
Thu Oct 18 14:24:54 PDT 2007


Hi,

I have created benchmark program for Gervill.

You can download it here:
http://sourceforge.net/project/showfiles.php?group_id=175084&package_id=248179&release_id=545019

benchmark.jar

To run benchmark, type in:
       java -jar benchmark.jar
To hear what benchmark is computing/synthesing, type:
       java -jar benchmark.jar benchmarksong.wav

The SCORE is computed as (Rendered seconds per computed second).
For example SCORE 4 means that you can render 4 sec on 1 sec.
We will need at least 1 to get real time playback.

I was able to get real time playback on computer with score as low as 1.77 although at 70% CPU usages
at default settings, but at 35% CPU with the parameters 22050,16 bit, 1ch, max polyphony=16.

What can be seen from the report below, is that:
 * Java 1.6 is about 1.5x times faster than Java 1.5.
 * Cubic interpolation is almost as fast as linear interpolation.
 * Sinc interpolation is about 3.5x times slower than linear.
 * Mono is about 1.3 times faster then stereo.
 * The samplerate 22050 Hz is about 1.5 times faster than 44100 Hz.

Please submit your SCORE if you run the benchmark :)

Here are result of benchmarks I have done on several computers.

Windows Vista 32-bit
Intel(R) Core(TM)2 CPU 6600 @2.40GHz 2.40 GHz, 2048 MB
SCORE: 16.28 - Java 1.6.0-b105
SCORE: 10.48 - Java 1.5.0_05-b05

Ubuntu Linux, 2.6.20-16-generic
Intel(R) Xeon(R) CPU 5140 @ 2.33GHz  2.33GHz, 512 MB
SCORE: 15.12 - Java 1.6.0-b105
SCORE: 9.60 - Java 1.5.0_11-b03

Windows Vista 32-bit
Intel(R) Core(TM)2 CPU 4300 @1.80GHz 2.40 GHz, 2030 MB
SCORE: 11.95 - Java 1.6.0_03-b05
SCORE:  7.77 - Java 1.5.0_12-b04

Mac OS X, 10.4.9, i386, 32-bit
Intel Core Duo 1.66 GHz, 1.245 GB
SCORE: 6.54 - Java 1.5.0_07-164

Windows Vista 32-bit
Intel(R) Pentium(R) 4 CPU 2.80 GHz  2.79 GHz, 1024 MB
SCORE: 8.74 - Java 1.6.0_02-b06

Windows XP 32-bit (laptop)
Intel(R) Pentium(R) M 1600MHz  1.59 GHz, 1024 MB
SCORE: 7.83 - Java 1.6.0_02-b06
SCORE: 5.02 - Java 1.5.0_08-b03

Windows XP 32-bit (laptop)
Intel(R) Pentium(R) III Mobile CPU 1133MHz 1.13 GHz, 1024 MB
SCORE: 4.28 - Java 1.6.0_03-b05

Windows XP 32-bit (laptop)
Intel Celeron processor 634 MHz, 184 MB
SCORE: 1.77 - Java 1.6.0_02-b06

Here is a list how different settings affects speed:
(higher number means higher speed, less CPU usages)

11025 Hz 16 bit 2 ch:    x1.9
22050 Hz 16 bit 2 ch:    x1.5
44100 Hz 16 bit 2 ch:    x1.0
88200 Hz 16 bit 2 ch:    x0.6

44100 Hz  8 bit 2 ch:    x1.0
44100 Hz 16 bit 2 ch:    x1.0
44100 Hz 24 bit 2 ch:    x1.0
44100 Hz 32 bit 2 ch:    x1.0

44100 Hz 16 bit 1 ch:    x1.3
44100 Hz 16 bit 2 ch:    x1.0

control rate =  50 Hz:   x1.2
control rate = 100 Hz:   x1.1
control rate = 147 Hz:   x1.0
control rate = 200 Hz:   x0.9
control rate = 250 Hz:   x0.9

interpolation = point:   x1.1
interpolation = linear:  x1.0
interpolation = cubic:   x1.0
interpolation = lanczos: x0.7
interpolation = sinc:    x0.3

max polyphony = 4:       x2.5
max polyphony = 8:       x2.0
max polyphony = 16:      x1.6
max polyphony = 32:      x1.3
max polyphony = 64:      x1.0
max polyphony = 128:     x0.8



More information about the audio-engine-dev mailing list