From owner-freebsd-current Sat Feb 8 16:25:55 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8AD037B422 for ; Sat, 8 Feb 2003 16:25:53 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-224.client.attbi.com [12.233.57.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 217D243F93 for ; Sat, 8 Feb 2003 16:25:48 -0800 (PST) (envelope-from dschultz@uclink.berkeley.edu) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.6/8.12.5) with ESMTP id h190PgYP020854; Sat, 8 Feb 2003 16:25:42 -0800 (PST) (envelope-from dschultz@uclink.berkeley.edu) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6/8.12.5/Submit) id h190PgwI020853; Sat, 8 Feb 2003 16:25:42 -0800 (PST) (envelope-from dschultz@uclink.berkeley.edu) Date: Sat, 8 Feb 2003 16:25:42 -0800 From: David Schultz To: Terry Lambert Cc: Ray Kohler , freebsd-current@FreeBSD.ORG Subject: Re: Compiling with high optimization? Message-ID: <20030209002542.GA20812@HAL9000.homeunix.com> Mail-Followup-To: Terry Lambert , Ray Kohler , freebsd-current@FreeBSD.ORG References: <20030208173756.GA56030@arkadia.nv.cox.net> <20030208232724.GA20435@HAL9000.homeunix.com> <3E459BF3.BB3FC381@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3E459BF3.BB3FC381@mindspring.com> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Thus spake Terry Lambert : > David Schultz wrote: > > Thus spake Ray Kohler : > > > Has anyone tried building world/kernel with high optimizations (-O2, > > > -O3) recently? What breaks? (Booby prize to whoever says "common sense" > > > ;) I last tried it quite a few months ago and the resolver died on me, > > > don't know what else. I'm not really thinking of running like that, but > > > I am curious about others' experiences. > > > > First, let me answer the question that you really meant to ask but > > forgot to, namely, ``How much of a performance difference does -O3 > > make over -O for the kernel/world?'' The answer is ``very little, > > for most purposes.'' So if you do use higher optimization levels, > > at least do a little benchmarking to make sure it was worth it. > > Actually, failure to use optimization suppresses some compilation > warnings, particularly those which normally print from using some > variables without initializing them. I think you're thinking of dataflow analysis, which I believe gcc does with -O and higher optimization levels. So unless you're using -O0, I would expect that you'd get all the warnings you want. > There are a number of places, particularly on non-i386 platforms, > where optimization actually doesn't work. I think that's why it > was turned off for the libc compilation, and why the bug crept in. > > It's probably useful to compile world with optimization occasionally, > to make compilation-time detectable bugs like that to show up, but, as > you point out, it'd probably be a *bad* idea to actually use the > resulting code, at least until after the next GCC import, which will > supposedly fix the Alpha optimizer. Yes, the possibility of being bitten by compiler bugs is certainly higher with higher optimization levels. Alpha with -O2 seems to have been broken for years, and I have seen strange things happen on IA64 as well. But the i386 code generators have received much wider testing and debugging, so there is somewhat less danger there. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message