compilation architecture
drago01
drago01 at gmail.com
Sat Jan 12 19:45:44 UTC 2008
2008/1/12 Jakub 'Livio' Rusinek <jakub.rusinek at gmail.com>:
> So I can say only one thing: "fedora does something in wrong,
> performance-loss way".
OK here is one synthetic benchmark (non real world) but it should show
you that compiling for a different arch does not automatically makes
things go faster:
benchmark used was "flops.c"
first run:
gcc flops.c -o flops -m32 -O2 -march=i386 -mtune=i686 -DUNIX
FLOPS C Program (Double Precision), V2.0 18 Dec 1992
Module Error RunTime MFLOPS
(usec)
1 -8.1208e-11 0.0171 816.4320
2 1.4704e-15 0.0195 358.7055
3 -3.8213e-15 0.0101 1676.3571
4 6.1151e-14 0.0102 1471.7699
5 -4.4419e-14 0.0184 1574.1210
6 7.7002e-15 0.0172 1683.3209
7 -6.6161e-13 0.0517 232.0156
8 2.2789e-14 0.0187 1606.4346
Iterations = 512000000
NullTime (usec) = 0.0000
MFLOPS(1) = 482.7594
MFLOPS(2) = 542.8299
MFLOPS(3) = 1017.2301
MFLOPS(4) = 1618.1922
----------------------------------------------------------
second run:
gcc flops.c -o flops -m32 -O2 -march=i686 -mtune=i686 -DUNIX
FLOPS C Program (Double Precision), V2.0 18 Dec 1992
Module Error RunTime MFLOPS
(usec)
1 -8.1208e-11 0.0172 812.6376
2 1.4704e-15 0.0196 357.9533
3 -3.8213e-15 0.0101 1677.3263
4 6.1151e-14 0.0102 1471.7699
5 -4.4419e-14 0.0184 1575.9585
6 7.7002e-15 0.0172 1682.3675
7 -6.6161e-13 0.0517 232.1120
8 2.2789e-14 0.0187 1603.4166
Iterations = 512000000
NullTime (usec) = 0.0000
MFLOPS(1) = 481.8683
MFLOPS(2) = 542.8753
MFLOPS(3) = 1016.6906
MFLOPS(4) = 1617.0692
------------------------------------------------------------
even thought not the topic here I have done a x86_64 run too:
gcc flops.c -DUNIX -o flops -O2
./flops
FLOPS C Program (Double Precision), V2.0 18 Dec 1992
Module Error RunTime MFLOPS
(usec)
1 4.0146e-13 0.0144 969.8444
2 -1.4166e-13 0.0163 430.2659
3 4.7184e-14 0.0091 1871.3076
4 -1.2557e-13 0.0083 1808.1842
5 -1.3800e-13 0.0302 960.4358
6 3.2380e-13 0.0158 1834.0442
7 -8.4583e-11 0.0433 276.9485
8 3.4867e-13 0.0303 991.5022
Iterations = 512000000
NullTime (usec) = 0.0000
MFLOPS(1) = 575.0329
MFLOPS(2) = 605.2412
MFLOPS(3) = 964.2780
MFLOPS(4) = 1434.2150
-----------------------------------------------------
Test machine was a Core 2 Duo T7400 running F8.
So as you can see here there is no virtually difference between i386 and i686.
x86_64 is faster in most cases but not always. (and its no way near "3
times faster")
So numbers prove what I (and others) said before ... "it feels faster"
isn't going to convince anyone or change anything.
More information about the fedora-devel-list
mailing list