benchmark
gcc-2.95(prerelease)の効果が結構大きいらしいということをkernel-MLのアーカイブで見て、cvsからひっぱってきていれてみた。まず自作(自hackというべきか)のmp3encoderをcompileしてみると、1割くらい速くなっていた。これはやってみる価値がある、と思いLinux/Unix nbenchのページのnbench(実はずいぶん前にもってきていたのだがほっといてあった)でbenchmarkをとってみた。以下がその結果である。なお、glibc-2.1.1はpgccでcompileして常用していたもの。(compileしなおそうかな…)
まとめた表:
C compiler : gcc-2.95 : pgcc-2.91.66 : gcc version 2.7.2.3
libc : glibc-2.1.1 : glibc-2.1.1 : libc.so.5.4.46
MEMORY INDEX : 1.333 : 1.296 : 1.357
INTEGER INDEX : 1.298 : 1.199 : 1.239
FLOATING-POINT INDEX: 1.599 : 1.543 : 1.366
CFLAGS = -O2 -mpentium -fomit-frame-pointer -finline-functions -funroll-loops
CFLAGS = -O2 -mpentium -fomit-frame-pointer -finline-functions -funroll-loops
CFLAGS = -O2 -m486 -fomit-frame-pointer -finline-functions -funroll-loops
Baseline (LINUX) : AMD K6/233, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
個別(ほとんどnbenchの出力そのもの)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90 : AMD K6/233
--------------------:------------------:-------------:------------
NUMERIC SORT : 162.96 : 4.18 : 1.37
STRING SORT : 18.16 : 8.11 : 1.26
BITFIELD : 4.0628e+07 : 6.97 : 1.46
FP EMULATION : 10.503 : 5.04 : 1.16
FOURIER : 2661.3 : 3.03 : 1.70
ASSIGNMENT : 1.3138 : 5.00 : 1.30
IDEA : 256.82 : 3.93 : 1.17
HUFFMAN : 171.95 : 4.77 : 1.52
NEURAL NET : 1.8096 : 2.91 : 1.22
LU DECOMPOSITION : 52.558 : 2.72 : 1.97
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 5.261
FLOATING-POINT INDEX: 2.883
Baseline (MSDOS) : Pentium 90, 256 KB L2-cache, Watcom compiler 10.0
==============================LINUX DATA BELOW===============================
C compiler : gcc version 2.95 19990713 (prerelease)
libc : ld-2.1.1.so
MEMORY INDEX : 1.333
INTEGER INDEX : 1.298
FLOATING-POINT INDEX: 1.599
Baseline (LINUX) : AMD K6/233, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
CFLAGS = -s -static -Wall -O2 -mpentium -fomit-frame-pointer \
-finline-functions -funroll-loops
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90 : AMD K6/233
--------------------:------------------:-------------:------------
NUMERIC SORT : 145.76 : 3.74 : 1.23
STRING SORT : 16.98 : 7.59 : 1.17
BITFIELD : 3.9042e+07 : 6.70 : 1.40
FP EMULATION : 10.991 : 5.27 : 1.22
FOURIER : 2536 : 2.88 : 1.62
ASSIGNMENT : 1.3415 : 5.10 : 1.32
IDEA : 224.13 : 3.43 : 1.02
HUFFMAN : 153.73 : 4.26 : 1.36
NEURAL NET : 1.7375 : 2.79 : 1.17
LU DECOMPOSITION : 51.637 : 2.68 : 1.93
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 4.968
FLOATING-POINT INDEX: 2.782
Baseline (MSDOS) : Pentium 90, 256 KB L2-cache, Watcom compiler 10.0
==============================LINUX DATA BELOW===============================
C compiler : gcc driver version 2.95 19990713 (prerelease) executing gcc version pgcc-2.91.66
libc : ld-2.1.1.so
MEMORY INDEX : 1.296
INTEGER INDEX : 1.199
FLOATING-POINT INDEX: 1.543
Baseline (LINUX) : AMD K6/233, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
CFLAGS = -s -static -Wall -O2 -mpentium -fomit-frame-pointer \
-finline-functions -funroll-loops
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90 : AMD K6/233
--------------------:------------------:-------------:------------
NUMERIC SORT : 140.88 : 3.61 : 1.19
STRING SORT : 18.419 : 8.23 : 1.27
BITFIELD : 3.6011e+07 : 6.18 : 1.29
FP EMULATION : 11.323 : 5.43 : 1.25
FOURIER : 1933.2 : 2.20 : 1.23
ASSIGNMENT : 1.5408 : 5.86 : 1.52
IDEA : 277.17 : 4.24 : 1.26
HUFFMAN : 141.94 : 3.94 : 1.26
NEURAL NET : 1.9187 : 3.08 : 1.30
LU DECOMPOSITION : 42.546 : 2.20 : 1.59
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 5.162
FLOATING-POINT INDEX: 2.463
Baseline (MSDOS) : Pentium 90, 256 KB L2-cache, Watcom compiler 10.0
==============================LINUX DATA BELOW===============================
C compiler : gcc version 2.7.2.3
libc : libc.so.5.4.46
MEMORY INDEX : 1.357
INTEGER INDEX : 1.239
FLOATING-POINT INDEX: 1.366
Baseline (LINUX) : AMD K6/233, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
CFLAGS = -s -static -Wall -O2 -m486 -fomit-frame-pointer \
-finline-functions -funroll-loops -I/usr/include-libc5
(C)Copyright 1998, 99 by Sian <sian@big.or.jp>
Last modified: Thu Jul 15 05:29:45 JST 1999