On Tuesday 31 January 2012 19:58:32 Anthony G. Basile wrote:
> On 01/29/2012 02:14 PM, Mike Frysinger wrote:
> > On Saturday 28 January 2012 07:26:59 Anthony G. Basile wrote:
> >> I've run nbench on two amd64 systems both running the same kernel
> >> vanilla-3.2.2.
> > 
> > i don't think nbench is a good benchmark for this as it isn't really
> > testing what you think it's testing.  it's very good at validating math
> > support in the ISA/ABI, optimized compiler output, and supplementary
> > math implementations in libgcc.  PIE vs non-PIE will still be able to
> > multiply/divide in pretty much the same amount of time.
> 
> I know, but the problem is, what benchmark best approximates common
> every day use?  So I wrote the following which really hits the problem
> hard on x86:
> 
> int modfac(int n)
> {
>      if(n==0) return 1;
>      return n * modfac(n-1);
> }
> 
> int main()
> {
>      int i;
>      for( i = 0 ; i < 4096*4096 ; i++ ) modfac(4096);
>      return 0;
> }
> 
> Using vanilla kernel 3.2.2, userland built with vanilla toolchain,
> gcc-4.5.3-r1, glibc-2.13-r4, binutils-2.21.1-r1, compiling my code
> simply as gcc -o test modfac.c, CFLAGS="-O2 -march=i686 -pipe" I get:
> 
>   time -p ./test
> real 327.89
> user 327.72
> sys 0.00
> 
> Keep everything else the same, even the same hardware, but switch to
> userland built with hardened gcc-4.5.3-r2 (not -r1 because of the bus
> error), I get:
> 
>   time -p ./test
> real 629.68
> user 629.37
> sys 0.00
> 
> The hardware is 8 x "Intel(R) Core(TM) i7 CPU 920  @ 2.67GHz" with 12 GB
> ram.  That's nearly a factor of 2x but how often does one set up 4k
> stack frames in everyday use?

you mean how often do people do recursion on data sets ?  is that 2x slow down 
really because of the *depth* of the stack ?
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to