Yesterday I got fwded along a forum posting over at penguinppc.org from our good friend over at the OSL [cshields@osuosl] powerpc-cpu optimizations
Gentoo PPC64 has glibc-2.3.4.20041102-r2 marked stable so first I started patching it up. While talking to another developer [vapier@gentoo] I found out that the powerpc-cpu optimizations had already been integrated in our glibc-2.4-r3 by him, so I stopped with the patching up of 2.3.x
Time for a few benchmarks. First nbench was not keyworded for PPC64 so I passed that info along to our PPC64 team and [ranger@gentoo] keyworded it for future use.
Here are the results.
Base PPC64 stable.
gcc-3.4.4 glibc-2.3.4.20041102-r2
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 581.52 : 14.91 : 4.90
STRING SORT : 96.4 : 43.07 : 6.67
BITFIELD : 1.2933e+08 : 22.19 : 4.63
FP EMULATION : 36.512 : 17.52 : 4.04
FOURIER : 8689.8 : 9.88 : 5.55
ASSIGNMENT : 7.3297 : 27.89 : 7.23
IDEA : 1503.4 : 22.99 : 6.83
HUFFMAN : 589.62 : 16.35 : 5.22
NEURAL NET : 14.411 : 23.15 : 9.74
LU DECOMPOSITION : 556.8 : 28.85 : 20.83
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 22.153
FLOATING-POINT INDEX: 18.757
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : 8 CPU
L2 Cache :
OS : Linux 2.6.5-7.97-pseries64
C compiler : 3.4.4
libc :
MEMORY INDEX : 6.069
INTEGER INDEX : 5.154
FLOATING-POINT INDEX: 10.403
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
glibc-2.4.x requires gcc-4 so I compiled that, then recompiled nbench so we could establish any differences it makes alone.
gcc-4.1.1 with 2.3.4.20041102-r2
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 586.56 : 15.04 : 4.94
STRING SORT : 102.48 : 45.79 : 7.09
BITFIELD : 1.3137e+08 : 22.54 : 4.71
FP EMULATION : 39.625 : 19.01 : 4.39
FOURIER : 8742 : 9.94 : 5.58
ASSIGNMENT : 10.188 : 38.77 : 10.06
IDEA : 1750.9 : 26.78 : 7.95
HUFFMAN : 775.66 : 21.51 : 6.87
NEURAL NET : 16.845 : 27.06 : 11.38
LU DECOMPOSITION : 605.04 : 31.34 : 22.63
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 25.276
FLOATING-POINT INDEX: 20.354
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : 8 CPU
L2 Cache :
OS : Linux 2.6.5-7.97-pseries64
C compiler : 4.1.1
libc :
MEMORY INDEX : 6.948
INTEGER INDEX : 5.866
FLOATING-POINT INDEX: 11.289
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
Sadly the kernel version that’s running on the OSL box is a SuSe one without the support needed. I kept getting FATAL: kernel too old while building glibc. Guess I’ll have to save the powerpc-cpu optimizations testing for another day..