From owner-freebsd-current Fri Sep 24 6:32:19 1999 Delivered-To: freebsd-current@freebsd.org Received: from thequest.net (tnt006.thequest.net [205.198.52.133]) by hub.freebsd.org (Postfix) with ESMTP id D7F80151A3 for ; Fri, 24 Sep 1999 06:32:06 -0700 (PDT) (envelope-from znh@thequest.net) Received: by thequest.net (Postfix, from userid 1005) id 4468D20CA; Fri, 24 Sep 1999 13:29:59 +0000 (GMT) Date: Fri, 24 Sep 1999 08:29:59 -0500 From: "Zach N. Heilig" To: Luke Cc: Sheldon Hearn , freebsd-current@FreeBSD.ORG, The Hermit Hacker Subject: Re: gcc optimizer in -current system ... Message-ID: <19990924082958.A14943@murkwood.znh.org> References: <5868.938087433@axl.noc.iafrica.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.6i In-Reply-To: ; from Luke on Thu, Sep 23, 1999 at 10:57:07AM -0400 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message