Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Sep 1999 08:29:59 -0500
From:      "Zach N. Heilig" <znh@thequest.net>
To:        Luke <lh@aus.org>
Cc:        Sheldon Hearn <sheldonh@uunet.co.za>, freebsd-current@FreeBSD.ORG, The Hermit Hacker <scrappy@hub.org>
Subject:   Re: gcc optimizer in -current system ...
Message-ID:  <19990924082958.A14943@murkwood.znh.org>
In-Reply-To: <XFMail.990923105707.lh@aus.org>; from Luke on Thu, Sep 23, 1999 at 10:57:07AM -0400
References:  <5868.938087433@axl.noc.iafrica.com> <XFMail.990923105707.lh@aus.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <znh@thequest.net>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990924082958.A14943>