From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Lehmann To: egcs@cygnus.com Subject: Re: Performance measurements Date: Thu, 02 Jul 1998 22:44:00 -0000 Message-id: <19980702195628.31642@cerebro.laendle> References: <19980702003443.62031@cerebro.laendle> <199807021414.KAA28041@melange.gnu.org> X-SW-Source: 1998-07/msg00110.html On Thu, Jul 02, 1998 at 10:14:27AM -0400, Craig Burley wrote: > [Sorry I haven't tracked this thread; also I removed axp-list@redhat.com, > since my comments apply to only the x86 processor.] This is the code Martin Kahlert sent to egcs on 19980624. > My guess, not knowing what the code is (even its language), is that C. I've attached the code (slightly massaged to compile with glibc) > this is due to the program being dependent mostly upon *static* no, it uses auto variables *exclusively*. > At least, that would explain the big difference in using > -malign-double over -mno-align-double on 2.7.2.3, especially unfortunately, it doesn.t > Even if stack-based doubles are used a lot, whether the bad performance > actually shows up in a benchmark can depend on fairly random things -- the > "original case" reported to being that the run-times > differed *significantly* depending on the length of the *name* of the > executable!! I got a testcase written in C in early 1996! (three different matrix multiply algorithms). This testcase resulted in the -mstack-align-double switch of pgcc, and support for this in glibc and djgpp (not yet distributed, though) > At this point, with the 1.1 freeze looming, I feel we have too > much more to learn about solving this problem right to try to > rush a quick fix into 1.1. Though, I'm going to try and keep > it is a fairly top priority, to avoid having it slip until it's > too late to fix properly (or at least decide we can't do so) in 1.2. we need startup (libc) support. Bernd Schmidt once sent me a patch that forced stack alignment in "main()", but I din't put this into pgcc, thinking that isn't the right way to fix things. At least for glibc, I could imagine having a switch for this (the proposed -mstack-align-double) might help so the glibc people can put support for it into glibc (i.e. compiling affected functions with that switch). This would have the benefit of only forcing possible speed penalties on functions with callbacks/startup functions. -----==- | ----==-- _ | ---==---(_)__ __ ____ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / pcg@goof.com |e| -=====/_/_//_/\_,_/ /_/\_\ --+ The choice of a GNU generation | |