Some additional tests :<br><br>With : -O2 -march=core2 for both gcc and llvm-gcc : LLVM is better with 10%.<br><br>        LLVM    GCC     Difference      Difference %<br><br>        Run 1   13771597.2      13105010.6      666586.6        4.84<br>
        Run 2   13813420.8      12536327.1      1277093.7       9.25<br>        Run 3   13769573.8      12124207.3      1645366.5       11.95<br>        Run 4   13883222.6      12794159.1      1089063.5       7.84<br>        Run 5   13890414.6      12105946        1784468.6       12.85<br>
        Run 6   13784627.3      11648245        2136382.3       15.5<br>        Run 7   13920748.9      11781692.4      2139056.5       15.37<br>        Run 8   13816843.9      12460451.3      1356392.6       9.82<br>        Run 9   13864682.1      12959671.4      905010.7        6.53<br>
        Run 10  13849863.4      12964021.5      885841.9        6.4<br><br>        Average 13836499.46     12447973.17     1388526.29      10.03<br>        Standard deviation      53189.13        515638.56       522400.98       3.77<br>
<br><br><br>With : -O3 -march=core2 for both compiler : GCC is better with 5.75%<br><br>        LLVM    GCC     Difference      Difference %<br><br>        Run 1   13790728.3      14902550.9      -1111822.6      -8.06<br>
        Run 2   13840499.3      14759093.2      -918593.9       -6.64<br>        Run 3   13975018.5      14545983.5      -570965 -4.09<br>        Run 4   13853799.5      15126446.4      -1272646.9      -9.19<br>        Run 5   13993633.5      14824100.4      -830466.9       -5.93<br>
        Run 6   13903645.3      12768793.8      1134851.5       8.16<br>        Run 7   13816401.7      15003783.8      -1187382.1      -8.59<br>        Run 8   13735232.8      14976854.3      -1241621.5      -9.04<br>        Run 9   13902380.7      14778159.5      -875778.8       -6.3<br>
        Run 10  13936761.8      15022553.5      -1085791.7      -7.79<br><br>        Average 13874810.14     14670831.93     -796021.79      -5.75<br>        Standard deviation      82443.34        688446.69       712123.9        5.14<br>
<br><br>Olivier.<br><br><br><br><br><br><div class="gmail_quote">2009/9/16 Török Edwin <span dir="ltr"><<a href="mailto:edwintorok@gmail.com">edwintorok@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On 2009-09-16 11:42, Olivier Meurant wrote:<br>
> On Tue, Sep 15, 2009 at 5:35 PM, David Greene <<a href="mailto:dag@cray.com">dag@cray.com</a><br>
</div><div><div></div><div class="h5">> <mailto:<a href="mailto:dag@cray.com">dag@cray.com</a>>> wrote:<br>
><br>
><br>
>     Remember, the goal here isn't to show how great LLVM is.  It's to<br>
>     get an<br>
>     honest assessment of where we are at.  Phoronix did us a big<br>
>     favor.  Getting<br>
>     more details about his tests would help us even more.<br>
><br>
><br>
> It's exactly what I'm trying to do. I'm not even a LLVM contributor,<br>
> so I don't feel responsible for a good or bad performances of LLVM. :)<br>
> Anyway, thanks for pointing this target differences. After some hours<br>
> at recompiling gcc, here we are :<br>
><br>
> Some information on the test platform :<br>
><br>
> cat /etc/lsb-release<br>
> DISTRIB_ID=Ubuntu<br>
> DISTRIB_RELEASE=9.04<br>
> DISTRIB_CODENAME=jaunty<br>
> DISTRIB_DESCRIPTION="Ubuntu 9.04"<br>
><br>
> uname -a<br>
> Linux zaraki 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC<br>
> 2009 i686 GNU/Linux<br>
><br>
> /proc/cpuinfo<br>
> dual core Intel(R) Core(TM)2 CPU X6800  @ 2.93GHz (cache size 4096)<br>
><br>
> llvm-gcc -v<br>
> Using built-in specs.<br>
> Target: i686-pc-linux-gnu<br>
> Configured with: ../llvm-gcc4.2-2.5.source/configure<br>
> --prefix=/mounts/zion/disks/0/localhome/tbrethou/2.5/prerelease2/llvm-gcc/obj/../install<br>
> --program-prefix=llvm-<br>
> --enable-llvm=/localhome/tbrethou/2.5/prerelease2/llvm-2.5/<br>
> --disable-bootstrap --enable-languages=c,c++,fortran<br>
> Thread model: posix<br>
> gcc version 4.2.1 (Based on Apple Inc. build 5636) (LLVM build 2.5)<br>
> (Binary from official x86 2.5 release)<br>
><br>
> gcc -v<br>
> Using built-in specs.<br>
> Target: i686-pc-linux-gnu<br>
> Configured with: ./configure --prefix=/usr/local<br>
> Thread model: posix<br>
> gcc version 4.4.1 (GCC)<br>
<br>
</div></div>Phoronix tested with gcc 4.2.1 (Apple's).<br>
<div class="im"><br>
><br>
> The compilation line are :<br>
> gcc -o bin src.c -O3<br>
> llvm-gcc -o bin src.c -O3<br>
<br>
</div>The Makefile uses -O by default, perhaps that is what Phoronix used too.<br>
<div class="im"><br>
><br>
><br>
> Results :<br>
> LLVM average : 13553161.95<br>
> gcc average : 14624441.45<br>
> Average : gcc is better with 8%<br>
><br>
> The full report :<br>
>         "LLVM"  "GCC"   "Difference"    "Difference %"<br>
><br>
> "Run 1" 13842616        14693115.8      -850499.8       -6.14<br>
> "Run 2" 13773202.9      14785734.9      -1012532        -7.35<br>
> "Run 3" 13671309.3      14985114        -1313804.7      -9.61<br>
> "Run 4" 12916939        14640392.9      -1723453.9      -13.34<br>
> "Run 5" 13572133.3      14425575        -853441.7       -6.29<br>
> "Run 6" 13810096.5      14694240.6      -884144.1       -6.4<br>
> "Run 7" 13427435.8      14695094.6      -1267658.8      -9.44<br>
> "Run 8" 14056659.9      14468968.4      -412308.5       -2.93<br>
> "Run 9" 13699125.3      14373360.9      -674235.6       -4.92<br>
> "Run 10 12762101.5      14482817.4      -1720715.9      -13.48<br>
><br>
> "Average"       13553161.95     14624441.45     -1071279.5      -7.99<br>
> "Standard deviation"    412810.77       187898.68<br>
> 430895.31       3.46<br>
><br>
> Is there again something wrong on this test ?<br>
<br>
</div>No, it seems fine.<br>
<br>
I get different results on x86-64 though (with -O), the difference is<br>
very small (4% with 3% stddev, or 3% with 1.5% stddev).<br>
<br>
Maybe you should try to reproduce one of the other benchmarks that show<br>
a higher difference, according to phoronix JOhn the Ripper shown 40%<br>
performance drop, there was also a huge drop for blowfish.<br>
<br>
<br>
<br>
        GCC 4.4.1       GCC 4.2.4       LLVM-GCC 2.5    LLVM-GCC 2.6    GCC-4.4/LLVM2.5<br>
GCC-4.4/LLVM2.6         GCC-4.4/GCC-4.2<br>
<br>
        144663277       139072037       154747143       151467440       0.935   0.955   1.040<br>
<br>
        144413249       139042455       150949846       150322055       0.957   0.961   1.039<br>
<br>
        144915166       138131283       150630261       150650540       0.962   0.962   1.049<br>
<br>
        145602711       138587982       154993781       147281539       0.939   0.989   1.051<br>
<br>
        145547868       139224734       150650813       147998859       0.966   0.983   1.045<br>
<br>
        145719970       139224734       144055081       152474829       1.012   0.956   1.047<br>
average         145143706.83    138880537.5     151004487.5     150032543.67    0.962<br>
0.968   1.045<br>
stdev   551855.54       435155.79       3961926.31      2009642.82      0.027   0.015   0.005<br>
<br>
<br>
Using built-in specs.<br>
Target: x86_64-linux-gnu<br>
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.1-4'<br>
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs<br>
<div class="im">--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr<br>
</div>--enable-shared --enable-multiarch --enable-linker-build-id<br>
<div class="im">--with-system-zlib --libexecdir=/usr/lib --without-included-gettext<br>
</div>--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4<br>
--program-suffix=-4.4 --enable-nls --enable-clocale=gnu<br>
--enable-libstdcxx-debug --enable-mpfr --enable-objc-gc<br>
--with-arch-32=i486 --with-tune=generic --enable-checking=release<br>
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu<br>
Thread model: posix<br>
gcc version 4.4.1 (Debian 4.4.1-4)<br>
<br>
llvm2.5:<br>
Using built-in specs.<br>
Target: x86_64-unknown-linux-gnu<br>
Configured with: ../llvm-gcc-4.2/configure --program-prefix=llvm-<br>
--enable-llvm=/home/edwin/llvm2.5/obj --enable-languages=c,c++,fortran<br>
Thread model: posix<br>
gcc version 4.2.1 (Based on Apple Inc. build 5636) (LLVM build)<br>
<br>
llvm2.6pre1:<br>
Using built-in specs.<br>
Target: x86_64-unknown-linux-gnu<br>
Configured with: ../llvm-gcc4.2-2.6.source/configure<br>
--program-prefix=llvm- --enable-languages=c,c++,fortran<br>
--enable-llvm=/home/edwin/llvm2.6/obj/<br>
Thread model: posix<br>
gcc version 4.2.1 (Based on Apple Inc. build 5649) (LLVM build)<br>
<br>
Using built-in specs.<br>
Target: x86_64-linux-gnu<br>
<div class="im">Configured with: ../src/configure -v<br>
</div><div class="im">--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr<br>
--enable-shared --with-system-zlib --libexecdir=/usr/lib<br>
--without-included-gettext --enable-threads=posix --enable-nls<br>
</div>--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2<br>
<div class="im">--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc<br>
</div>--enable-mpfr --with-tune=generic --enable-checking=release<br>
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu<br>
Thread model: posix<br>
gcc version 4.2.4 (Debian 4.2.4-6)<br>
<br>
<br>
Best regards,<br>
<font color="#888888">--Edwin<br>
<br>
</font></blockquote></div><br>