On 2 Dec 1999, Ville-Pertti Keinonen wrote:
>...
> Note that double-alignment vs. word-alignment can really have >30%
> performance impact, at least on an Athlon and one meaningless floating
> point microbenchmark (operations on small, fixed-sized
> matrices...maybe it isn't even *that* meaningless).
I verified that the default alignment is a pessimisation of 1% for a
meaningful benchmark (compiling a RELENG_3 kernel) on a Celeron:
gcc (current) compiled with gcc:
29.00 real 11.42 user 2.28 sys
158.47 real 146.48 user 10.35 sys
13.58 real 11.31 user 2.20 sys
157.99 real 146.16 user 11.19 sys
13.58 real 11.37 user 2.14 sys
158.06 real 146.57 user 10.87 sys
gcc (current) compiled with gcc -mpreferred-stack-boundary=2:
13.42 real 10.92 user 2.34 sys
156.94 real 144.14 user 11.16 sys
13.29 real 10.87 user 2.34 sys
156.43 real 144.22 user 11.23 sys
13.30 real 10.85 user 2.38 sys
156.14 real 144.70 user 10.73 sys
The times are for `time make depend; time make' after `make clean; sync;
sleep 1' (2 times for each run). The stack may have been perfectly
misaligned for the default gcc.
Corresponding times for egcs with various PQ_L2_SIZE's a few months ago:
16 pages:
28.50 real 11.78 user 2.62 sys
140.53 real 129.08 user 10.55 sys
14.17 real 11.72 user 2.43 sys
140.27 real 129.13 user 10.83 sys
14.15 real 11.77 user 2.35 sys
140.45 real 129.25 user 10.85 sys
32 pages:
28.57 real 11.60 user 2.69 sys
139.89 real 129.34 user 9.74 sys
14.09 real 11.67 user 2.39 sys
139.65 real 128.91 user 10.42 sys
14.06 real 11.57 user 2.45 sys
139.80 real 129.10 user 10.33 sys
64 pages:
28.51 real 11.88 user 2.46 sys
140.12 real 129.18 user 10.01 sys
14.11 real 11.59 user 2.49 sys
139.98 real 129.10 user 10.67 sys
14.10 real 11.89 user 2.18 sys
140.24 real 129.24 user 10.59 sys
128 pages:
28.11 real 11.94 user 2.40 sys
140.14 real 129.11 user 10.14 sys
14.08 real 11.82 user 2.23 sys
139.97 real 129.01 user 10.66 sys
14.09 real 11.64 user 2.44 sys
140.22 real 129.15 user 10.83 sys
256 pages:
28.31 real 11.74 user 2.45 sys
139.87 real 128.90 user 10.13 sys
14.17 real 11.67 user 2.48 sys
139.58 real 129.36 user 9.95 sys
14.15 real 11.49 user 2.60 sys
139.90 real 129.07 user 10.45 sys
Bruce
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message