FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3 v/s gcc2.9.5)

Dag-ErlingSmørgrav des at des.no
Sun Feb 15 12:47:03 PST 2004


Alexandr Kovalenko <never at nevermind.kiev.ua> writes:
> Could you please explain me this? Result is fully reproduceable. Please note,
> that the only difference is the output file name. Even resulting files match
> bit-to-bit. [...]

Definitely some kind of alignment problem, but it only shows up at
some optimization levels and not others.

des at dwp ~/src/flops% ll f*s
lrwxr-xr-x  1 des  des      5 Feb 15 21:34 fffffffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:06 ffffffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:06 fffffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:08 ffffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:08 fffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:08 ffffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:03 fffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:03 ffffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 fffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 ffffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 fffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 ffffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 fffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 ffffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 fffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 ffflops@ -> flops
lrwxr-xr-x  1 des  des      5 Feb 15 21:02 fflops@ -> flops
-rwxr-xr-x  1 des  des  20875 Feb 15 21:05 flops*
lrwxr-xr-x  1 des  des      5 Feb 15 20:55 flucking-slow-flops@ -> flops
des at dwp ~/src/flops% cc -DUNIX -o flops flops.c
des at dwp ~/src/flops% for f in f*s ; do ./$f |& grep MFLOPS.1. ; done
   MFLOPS(1)       =   386.3844
   MFLOPS(1)       =   365.9330
   MFLOPS(1)       =   364.1425
   MFLOPS(1)       =   366.6225
   MFLOPS(1)       =   389.3461
   MFLOPS(1)       =   377.1758
   MFLOPS(1)       =   354.1909
   MFLOPS(1)       =   356.5961
   MFLOPS(1)       =   371.7964
   MFLOPS(1)       =   366.3965
   MFLOPS(1)       =   407.1590
   MFLOPS(1)       =   375.0376
   MFLOPS(1)       =   353.9504
   MFLOPS(1)       =   394.1439
   MFLOPS(1)       =   134.2436
   MFLOPS(1)       =   148.3984
   MFLOPS(1)       =   390.5495
   MFLOPS(1)       =   373.4338
   MFLOPS(1)       =   341.5228
des at dwp ~/src/flops% cc -DUNIX -O0 -o flops flops.c
des at dwp ~/src/flops% for f in f*s ; do ./$f |& grep MFLOPS.1. ; done
   MFLOPS(1)       =   392.9511
   MFLOPS(1)       =   361.4795
   MFLOPS(1)       =   407.0004
   MFLOPS(1)       =   368.2120
   MFLOPS(1)       =   355.9699
   MFLOPS(1)       =   378.2740
   MFLOPS(1)       =   372.4568
   MFLOPS(1)       =   339.8898
   MFLOPS(1)       =   367.3776
   MFLOPS(1)       =   379.0460
   MFLOPS(1)       =   363.5696
   MFLOPS(1)       =   379.5704
   MFLOPS(1)       =   390.2681
   MFLOPS(1)       =   382.3747
   MFLOPS(1)       =   175.9839
   MFLOPS(1)       =   131.9588
   MFLOPS(1)       =   379.4554
   MFLOPS(1)       =   385.6065
   MFLOPS(1)       =   363.8399
des at dwp ~/src/flops% cc -DUNIX -O -o flops flops.c
des at dwp ~/src/flops% for f in f*s ; do ./$f |& grep MFLOPS.1. ; done
   MFLOPS(1)       =   438.2079
   MFLOPS(1)       =   445.7388
   MFLOPS(1)       =   143.9707
   MFLOPS(1)       =   152.9320
   MFLOPS(1)       =   420.0060
   MFLOPS(1)       =   450.3305
   MFLOPS(1)       =   176.8822
   MFLOPS(1)       =   177.4155
   MFLOPS(1)       =   453.1921
   MFLOPS(1)       =   463.7040
   MFLOPS(1)       =   431.8273
   MFLOPS(1)       =   440.2074
   MFLOPS(1)       =   457.4747
   MFLOPS(1)       =   430.3638
   MFLOPS(1)       =   438.6455
   MFLOPS(1)       =   436.4352
   MFLOPS(1)       =   403.4691
   MFLOPS(1)       =   429.3843
   MFLOPS(1)       =   166.5295
des at dwp ~/src/flops% cc -DUNIX -O2 -o flops flops.c
des at dwp ~/src/flops% for f in f*s ; do ./$f |& grep MFLOPS.1. ; done
   MFLOPS(1)       =   486.4274
   MFLOPS(1)       =   462.6540
   MFLOPS(1)       =   448.6820
   MFLOPS(1)       =   483.4713
   MFLOPS(1)       =   456.5398
   MFLOPS(1)       =   456.2924
   MFLOPS(1)       =   458.9312
   MFLOPS(1)       =   443.5167
   MFLOPS(1)       =   527.0580
   MFLOPS(1)       =   488.1867
   MFLOPS(1)       =   478.7150
   MFLOPS(1)       =   456.2584
   MFLOPS(1)       =   476.7231
   MFLOPS(1)       =   473.5441
   MFLOPS(1)       =   480.3434
   MFLOPS(1)       =   457.3464
   MFLOPS(1)       =   478.5790
   MFLOPS(1)       =   473.1698
   MFLOPS(1)       =   444.4634
des at dwp ~/src/flops% cc -DUNIX -O3 -o flops flops.c
des at dwp ~/src/flops% for f in f*s ; do ./$f |& grep MFLOPS.1. ; done
   MFLOPS(1)       =   485.9121
   MFLOPS(1)       =   470.1213
   MFLOPS(1)       =   434.6227
   MFLOPS(1)       =   438.2213
   MFLOPS(1)       =   460.9863
   MFLOPS(1)       =   458.5821
   MFLOPS(1)       =   472.2775
   MFLOPS(1)       =   438.6205
   MFLOPS(1)       =   437.6345
   MFLOPS(1)       =   468.6643
   MFLOPS(1)       =   432.0184
   MFLOPS(1)       =   437.1364
   MFLOPS(1)       =   469.7258
   MFLOPS(1)       =   463.0537
   MFLOPS(1)       =   465.8361
   MFLOPS(1)       =   500.6559
   MFLOPS(1)       =   458.3052
   MFLOPS(1)       =   470.0315
   MFLOPS(1)       =   441.1284

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-hackers mailing list