Date: Thu, 15 Mar 2007 20:25:43 -0700 From: Garrett Cooper <youshi10@u.washington.edu> To: freebsd-questions@freebsd.org Subject: Re: Optimizationn questions? Message-ID: <45FA0E37.4020102@u.washington.edu> In-Reply-To: <20070315153157.GA22789@thought.org> References: <200703150321.18033.danny@ricin.com> <Pine.LNX.4.43.0703142019490.6819@hymn03.u.washington.edu> <20070315153157.GA22789@thought.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Gary Kline wrote: > On Wed, Mar 14, 2007 at 08:19:49PM -0700, youshi10@u.washington.edu wrote: >> On Thu, 15 Mar 2007, Danny Pansters wrote: >> >>> On Thursday 15 March 2007 02:16, Gary Kline wrote: >>>> Two quick one for kernel and/or compiler wizards: first, is >>>> a 400Mz processor considered a 586 (for my KERNELCONF file)? >>> Think its 686 (but really, leaving 486 and 586 in isn't going to slow down >>> booting or anything!) I always say: Use GENERIC unless you have a good >>> reason >>> not to. >>> >>>> Second, is it safe to do a buildworld with -O3? If there are >>> No. It's not supported if things break. >>> >>>> stability concerns, I'll go with the default when I rebuild my >>>> 6.2 systems. >>> The defaults should be fine. Also, like I said consider just using GENERIC >>> and >>> load the odd kmod if needed. Generally it's less headache and equal >>> performance. >>> >>>> thanks in advance, >>>> >>>> gary >>> Cheers, >>> >>> Dan >> As Dan and Gary said -O3 isn't supported, and in many cases that "level of >> optimization" gets filtered out while compiling sections of FreeBSD. >> >> Besides, I've compiled stuff with -O3 and various optimizations in Gentoo >> Linux before, and let me say that it caused a great deal of headaches... >> that's why I stick with -O2 now, because it's better to have something in >> executable shape and a bit slower (arguably because some optimizations slow >> things down) than it is to have something run fast and break all the time. >> >> Some food for thought :). > > > --Food for thought and a chuckle too! (not to mention that > it's waaay early, the chickens are still snoring, and I've > only had *one* cup of joe)... I've done some investigation > with optimizing my own code, usually < 1000 lines, and haven't > seen much gain between -O2 and -O3. Loop-unrolling may be > different; one trick that compiler hackers at supercomputer > companies use by default in to unroll small loops. Cray is > one example. Soooo, to get any real gain is going to mean > going thru the most freq used tools (*grep, find, ls) and > hand-tweak. Might buy 5 - 7%. > > have a good one, > > gary > >> -Garrett No problem. -funroll-loops might not buy you too much other than a few less instructions overall but I'm not sure how intelligent gcc is at unrolling loops. It seemed like there was a difference between optimizations in the 4.x branch compared to the 3.4.x sub branch. They made a lot of improvements in the 4.x branch though.. it's just that some of those improvements broke code, so that's probably why FreeBSD doesn't have gcc-4.x in the base system. Cheers :). -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45FA0E37.4020102>