Results 1 to 10 of 10

Thread: LLVM 2.9 Clang Performance On Intel's Sandy Bridge

  1. #1
    Join Date
    Jan 2007
    Posts
    14,787

    Default LLVM 2.9 Clang Performance On Intel's Sandy Bridge

    Phoronix: LLVM 2.9 Clang Performance On Intel's Sandy Bridge

    Earlier this month benchmarks were published on Phoronix showing the GCC 4.6 compiler performance with AVX support under Intel's new Sandy Bridge processors that are the first to provide Advanced Vector Extensions support. The Core i5 2500K CPU performance is already great under Linux, but once more Linux software supports taking advantage of this latest cross-vendor instruction set, there will be even more speed-ups. While the Low-Level Virtual Machine does not yet have full support for taking advantage of the Advanced Vector Extensions support, in this article we are looking at how the latest development code for LLVM 2.9 and the Clang compiler are performing on Intel's Sandy Bridge in relation to GCC.

    http://www.phoronix.com/vr.php?view=15697

  2. #2
    Join Date
    Dec 2007
    Location
    Edinburgh, Scotland
    Posts
    577

    Default

    Could you specify exactly which GCC-4.6 snapshot you're using in your graphs?

    It sound like you're using a final of GCC-4.6 which of course hasn't been released yet

    Seeing as you always refer back to all your articles this could be confusing in the future

  3. #3
    Join Date
    Oct 2009
    Posts
    845

    Default

    Exactly, you bothered to add 'svn' to clearly indicate that LLVM-Clang was not the final release but not for gcc 4.6/gcc 4.6 corei7-avx which then come across as if they were final releases which they aren't. Both Clang and Gcc are still having lots of regressions fixed before final release.

    So while I find svn comparisons interesting they really should be marked as such, since they do not hold the same value as comparisons between full releases.

  4. #4
    Join Date
    Jan 2008
    Posts
    299

    Default

    Michael, the graphs say something like "Seconds, Less Are better" or "Iterations per Minute, Higher is Better", but both of these phrases are wrong.

    Both 'seconds' and 'iterations' specify a number and not an amount, so more/fewer should be used instead of higher/less. If you wondered why "Less Are better" sounded funny, this is why. You used 'are' since it matches with 'seconds', but 'less' isn't right.

    Can you change PTS to say things like the following?
    "Seconds, Fewer are better"
    "Iterations per minute, More are better"

  5. #5
    Join Date
    Jan 2010
    Location
    Ghent
    Posts
    208

    Default -O2

    Since especially Clang benefits a lot from having an optimization level defined, in comparison to GCC (probably because it runs at a lower optimization by default), it would be interesting to see the same comparisons with CFLAGS="-O2". No strange voodo, just that change.

    My educated guess is that LLVM/Clang will look far better in comparison to GCC in that situation.

  6. #6
    Join Date
    Mar 2009
    Posts
    3

    Default Meaningless without opt flags

    Most software compiled with extra flags, why bother to add "-O2"?

  7. #7
    Join Date
    Jan 2007
    Posts
    459

    Default

    Michael, regarding you're x264 V2010-11-2 version that is very old now OC and you might consider compiling and using Daniel Kang's AVX patches just put into https://github.com/DarkShikari/x264-devel
    , soon to be pushed to master , perhaps today.

    that should also provide some nice improvements for the I7avx results

    ohh and apparently Daniel is in need of someone on linux 32/64 to provide him a ssh connection to bench these and other assembly routines he's working on including ffmpeg patches at some point if anyone's up for giving him and other x264 devs linux sandy bridge i5. i7 access. see the #x264dev IRC channel to offer them a spot.

  8. #8

    Default

    Quote Originally Posted by phoronix View Post
    Phoronix: LLVM 2.9 Clang Performance On Intel's Sandy Bridge

    Earlier this month benchmarks were published on Phoronix showing the GCC 4.6 compiler performance with AVX support under Intel's new Sandy Bridge processors that are the first to provide Advanced Vector Extensions support. The Core i5 2500K CPU performance is already great under Linux, but once more Linux software supports taking advantage of this latest cross-vendor instruction set, there will be even more speed-ups. While the Low-Level Virtual Machine does not yet have full support for taking advantage of the Advanced Vector Extensions support, in this article we are looking at how the latest development code for LLVM 2.9 and the Clang compiler are performing on Intel's Sandy Bridge in relation to GCC.

    http://www.phoronix.com/vr.php?view=15697
    Why were LLVM 2.8 results omitted while GCC 4.5.2 was included? It is impossible to see how the LLVM performance has evolved relative to how GCC has evolved without them.

  9. #9
    Join Date
    Oct 2009
    Posts
    845

    Default

    Quote Originally Posted by staalmannen View Post
    Since especially Clang benefits a lot from having an optimization level defined, in comparison to GCC (probably because it runs at a lower optimization by default), it would be interesting to see the same comparisons with CFLAGS="-O2". No strange voodo, just that change.
    Pure nonsense, GCC uses -O0 as default, which is NO optimization. Also what makes you think that these tests are configured without any optimization???

    I've watched your own results which I must say are very/totally different from the 'official' phoronix tests aswell as my own (with the sole exception of open64 performance on c-ray) and I must say I'm very sceptical of those results.

    Quote Originally Posted by staalmannen View Post
    My educated guess is that LLVM/Clang will look far better in comparison to GCC in that situation.
    Sorry, but your 'educated' guess leaves much to be desired it seems.

  10. #10
    Join Date
    Oct 2009
    Posts
    845

    Default

    Quote Originally Posted by Shining Arcanine View Post
    Why were LLVM 2.8 results omitted while GCC 4.5.2 was included? It is impossible to see how the LLVM performance has evolved relative to how GCC has evolved without them.
    Yes this would definately have been interesting data.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •