Date: Mon, 05 Aug 2002 12:14:30 -0400 From: Jason Andresen <jandrese@mitre.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: Darren Pilgrim <dmp@pantherdragon.org>, Dmitry Morozovsky <marck@rinet.ru>, hackers@freebsd.org Subject: Re: -fomit-frame-pointer for the world build Message-ID: <3D4EA466.C1289F0F@mitre.org> References: <20020802212841.R58905-100000@woozle.rinet.ru> <3D4AC526.4CD399B3@mindspring.com> <3D4C8464.A2F4775A@pantherdragon.org> <3D4CC81F.94526C8A@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote: > > Darren Pilgrim wrote: > > Terry Lambert wrote: > > > Dmitry Morozovsky wrote: > > > > What are the drawbacks of building FreeBSD with -fomit-frame-pointer? > > > > > > The frame pointer is used for debugging, specifically for the > > > stack traceback function to know arguments. Removing it means > > > losing some debugging functionality. Next time try "info gcc": > > > > If you don't have any need for debugging your software, is there any > > use for frame pointers? Is this something that can safely be used for > > both CFLAGS and COPTFLAGS? > > You can't use it in conjunction with calee pop, if you have > mixed code. > > So it really depends on what other optimizations you throw in > the mix, and then you have the problem of interfacing with > assembly language code, as well -- the calling standard has to > match, if it's asymmetric (i.e. not "caller push, caller pop"), > and assembly code is hand-coded in this respect in most cases. > > The claimed savings are fictions. They are function call > overhead savings assuming an average number of arguments and > related pushed values, and they apply only to the call process > itself. Most time in programs is spent in running, not calling > functions, so if you expect an elimination of "18% overhead" > to make you programs that much faster, you are dreaming. On the other hand, -fomit-frame-pointer is the only optimization beyond -O in gcc that actually seems to offer any sort of speedup for me. I've seen 10 to 20% reduction in runtime on some programs with -fomit-frame-pointer. It's the only specific optimization I bother with anymore. -- \ |_ _|__ __|_ \ __| Jason Andresen jandrese@mitre.org |\/ | | | / _| Network and Distributed Systems Engineer _| _|___| _| _|_\___| Office: 703-883-7755 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D4EA466.C1289F0F>