[linux-audio-dev] Athlon/3dnow! dsp benchmark results

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] Athlon/3dnow! dsp benchmark results
From: est_AT_hyperreal.org
Date: su syys   05 1999 - 18:17:31 EDT


I coded a biquadratic filter in C, bummed C (`caching' values in
locals csound-style), and 3dnow. I tested how long it took (in
microseconds) to process a buffer of 128 mono float samples 100 times.

I also wrote another routine to mix two channels into one with scale
factors for each input channel. I ran it on the same size data as the
biquad benchmark.

On my amd k6-2/350 using gcc-2.95.1, I got the following typical results:

                        biquad 3dnow: 382
                          biquad gcc: 2004
                   biquad bummed gcc: 1493
                           mix 3dnow: 105
                             mix gcc: 659

Dieter Nuetzel was kind enough to run the same tests on his Athlon/500
system with pgcc-2.91. The results he got were:

                        biquad 3dnow: 573
                          biquad gcc: 679
                   biquad bummed gcc: 340
       biquad gcc (-O6 -mpentiumpro): 378
biquad bummed gcc (-O6 -mpentiumpro): 353
                           mix 3dnow: 64
                             mix gcc: 136
          mix gcc (-O6 -mpentiumpro): 99

As you can see, biquad/3dnow was actually slower on his system! mix
allowed 3dnow to maintain a (diminished) lead on the Athlon. It's
more inherently SIMD. In the case of biquad I think 3dnow beat gcc on
the k6-2 because the k6-2 fp architecture is just way behind 3dnow.
In the Athlon it's leap-frogged ahead. Apparently the 3dnow
instructions have higher latency on the Athlon. I have no idea
whether AMD plans to fix this.

Lastly, the Athlon is fast. :)

Eric


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:11 EST