On Thu, Sep 23, 1999 at 10:57:07AM -0400, Luke wrote:
> I have -03 -mpentium -fomit-frame-pointer and the only inexpicable
> problem I have is I cant compile groff with more than -O for some reason.
> Other than that make world and make release have worked many times.
> I wonder does anyone think [or have stats] on whether O3-6 and things like
> - -ffast-math actually make any difference?
Only a couple of the options make much speed difference for me, and those
that do significantly slow the code down instead of speeding it up.
I did some tests earlier this year, since I had an application that (I
thought) bumped up against the performance limits of a MediaGX 200 MHz
at times (the cpu seemed generally fast enough, it seems there are some
significant wait-states added at unpredictable times when using on-chip
multi-media hardware -- it'll have drop outs simply dumping raw stereo,
16-bit, 44100 samples/sec to the on-processor audio card -- adding a
sound card fixed these problems).
The application for the tests is mpg123.
test mp3 playing time: 373 seconds.
compilation options (for mpg123, all versions use the i386+486 objects):
If anyone wants a specific set of options, I can re-run this whole deal
(I put together some scripts to automate almost all of this, I ran these
tests on an amd5x86-133, amd k6-300, and mediagx-200).
These are (some of) the MediaGX-200 results:
1) No Optimization
225.08 real 224.30 user 0.23 sys
225.23 real 224.55 user 0.21 sys
225.06 real 224.34 user 0.16 sys
225.21 real 224.39 user 0.21 sys
225.17 real 224.40 user 0.13 sys
2) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fschedule-insns
-fschedule-insns2
141.92 real 141.43 user 0.10 sys
142.17 real 141.71 user 0.11 sys
142.05 real 141.53 user 0.14 sys
142.01 real 141.42 user 0.18 sys
142.11 real 141.53 user 0.14 sys
3) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fschedule-insns
141.75 real 141.24 user 0.10 sys
141.52 real 141.06 user 0.09 sys
141.04 real 140.62 user 0.08 sys
142.04 real 141.48 user 0.14 sys
141.82 real 141.27 user 0.16 sys
4) -O3 -mcpu=i486 -march=i486 -funroll-loops
135.56 real 135.09 user 0.13 sys
134.88 real 134.39 user 0.11 sys
135.18 real 134.69 user 0.11 sys
135.66 real 135.24 user 0.10 sys
134.79 real 134.42 user 0.07 sys
5) -O3
134.50 real 133.93 user 0.21 sys
134.82 real 134.35 user 0.13 sys
135.04 real 134.60 user 0.10 sys
135.00 real 134.56 user 0.14 sys
135.14 real 134.61 user 0.14 sys
6) -O3 -mcpu=i486 -march=i486 -funroll-all-loops
134.08 real 133.64 user 0.12 sys
134.45 real 133.99 user 0.12 sys
134.81 real 134.35 user 0.12 sys
134.70 real 134.15 user 0.14 sys
134.41 real 133.94 user 0.12 sys
7) -O3 -mcpu=i486 -march=i486 -ffast-math
133.38 real 132.89 user 0.13 sys
133.03 real 132.49 user 0.14 sys
133.35 real 132.86 user 0.12 sys
133.42 real 132.94 user 0.15 sys
133.47 real 133.03 user 0.10 sys
8) -O3 -mcpu=i486 -march=i486 -mwide-multiply
133.19 real 132.70 user 0.08 sys
132.90 real 132.44 user 0.12 sys
133.43 real 132.98 user 0.13 sys
133.31 real 132.87 user 0.11 sys
133.83 real 133.33 user 0.10 sys
9) -O3 -mcpu=i486 -march=i486 -fthread-jumps
132.79 real 132.28 user 0.17 sys
133.15 real 132.65 user 0.11 sys
133.47 real 132.94 user 0.17 sys
133.07 real 132.61 user 0.10 sys
133.41 real 132.93 user 0.13 sys
10) -O3 -mcpu=i486 -march=i486
133.48 real 133.00 user 0.10 sys
133.36 real 132.94 user 0.14 sys
133.25 real 132.81 user 0.09 sys
133.60 real 133.08 user 0.15 sys
133.34 real 132.89 user 0.11 sys
11) -O3 -mcpu=i586 -march=i486
132.06 real 131.52 user 0.11 sys
131.90 real 131.37 user 0.16 sys
132.20 real 131.65 user 0.20 sys
132.04 real 131.61 user 0.11 sys
132.66 real 132.15 user 0.13 sys
12) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -frerun-loop-opt
130.86 real 130.41 user 0.14 sys
130.18 real 129.72 user 0.16 sys
130.75 real 130.28 user 0.16 sys
130.78 real 130.32 user 0.11 sys
130.60 real 130.13 user 0.14 sys
13) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fmove-all-movables
-freduce-all-givs
131.49 real 131.00 user 0.14 sys
130.97 real 130.49 user 0.17 sys
130.55 real 130.05 user 0.10 sys
130.61 real 130.18 user 0.10 sys
130.87 real 130.36 user 0.20 sys
14) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fcse-follow-jumps
-fcse-skip-blocks -fgcse
130.51 real 129.94 user 0.14 sys
130.55 real 130.04 user 0.11 sys
131.18 real 130.62 user 0.22 sys
130.83 real 130.42 user 0.11 sys
130.50 real 130.06 user 0.10 sys
15) -O3 -mcpu=i586 -march=i486 -fomit-frame-pointer -fexpensive-optimizations
130.89 real 130.42 user 0.14 sys
130.56 real 130.16 user 0.08 sys
130.39 real 129.99 user 0.08 sys
130.17 real 129.66 user 0.10 sys
130.46 real 129.98 user 0.15 sys
16) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fcse-follow-jumps
-fcse-skip-blocks
300.23 real 299.20 user 0.24 sys
300.35 real 299.33 user 0.22 sys
300.76 real 299.69 user 0.26 sys
299.89 real 298.96 user 0.20 sys
300.48 real 299.61 user 0.17 sys
17) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fcse-follow-jumps
131.19 real 130.71 user 0.11 sys
131.15 real 130.74 user 0.07 sys
131.14 real 130.65 user 0.14 sys
130.85 real 130.29 user 0.14 sys
131.22 real 130.73 user 0.15 sys
18) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer
131.20 real 130.81 user 0.08 sys
131.18 real 130.65 user 0.17 sys
130.34 real 129.85 user 0.10 sys
130.54 real 130.08 user 0.13 sys
131.12 real 130.59 user 0.17 sys
19) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fstrict-aliasing
130.10 real 129.62 user 0.10 sys
130.16 real 129.64 user 0.13 sys
130.31 real 129.85 user 0.17 sys
130.43 real 130.06 user 0.09 sys
130.21 real 129.71 user 0.08 sys
20) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fexpensive-optimizations
130.59 real 130.11 user 0.13 sys
129.89 real 129.46 user 0.12 sys
129.85 real 129.41 user 0.12 sys
130.81 real 130.29 user 0.16 sys
130.34 real 129.85 user 0.15 sys
21) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -fcse-skip-blocks
130.53 real 130.04 user 0.13 sys
130.48 real 130.07 user 0.12 sys
130.05 real 129.56 user 0.10 sys
130.67 real 130.17 user 0.19 sys
130.83 real 130.43 user 0.10 sys
22) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -funroll-all-loops
130.61 real 130.11 user 0.17 sys
130.11 real 129.64 user 0.09 sys
130.83 real 130.39 user 0.09 sys
130.24 real 129.78 user 0.13 sys
130.30 real 129.78 user 0.12 sys
23) -O3 -mcpu=i486 -march=i486 -fomit-frame-pointer -malign-double
130.36 real 129.90 user 0.15 sys
130.72 real 130.25 user 0.15 sys
130.71 real 130.23 user 0.11 sys
130.50 real 130.05 user 0.09 sys
130.31 real 129.93 user 0.10 sys
24) -O3 -mcpu=i586 -march=i586 -fomit-frame-pointer -malign-double
130.35 real 129.93 user 0.10 sys
130.19 real 129.73 user 0.10 sys
130.23 real 129.79 user 0.10 sys
129.67 real 129.16 user 0.14 sys
130.42 real 129.93 user 0.12 sys
--
Zach Heilig <[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message