Results 1 to 10 of 10

Thread: LLVM/Clang 3.3 Offers Performance Improvements

  1. #1
    Join Date
    Jan 2007
    Posts
    15,101

    Default LLVM/Clang 3.3 Offers Performance Improvements

    Phoronix: LLVM/Clang 3.3 Offers Performance Improvements

    Recent compiler testing of the latest LLVM/Clang 3.3 SVN code-base has yielded some significant performance boosts for some common C/C++ benchmarks against LLVM/Clang 3.2...

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

  2. #2
    Join Date
    Dec 2012
    Posts
    551

    Default

    Competition in the compiler space spurs performance improvements in both camps. The masses cheer. And then call Clang not free enough because it uses a permissive license.

  3. #3
    Join Date
    Jan 2012
    Posts
    186

    Default

    pretty accurate summary

  4. #4
    Join Date
    Dec 2011
    Posts
    2,103

    Default gcc

    Would love to have seen GCC 3.8 thrown in the mix.

  5. #5
    Join Date
    Feb 2013
    Posts
    6

    Default Did you benchmark using -O0 ?

    The benchmarks above have no optimizations ... what's the point ?

  6. #6
    Join Date
    Feb 2012
    Posts
    252

    Default Environment Variables...

    Quote Originally Posted by nadav View Post
    The benchmarks above have no optimizations ... what's the point ?
    PATH=/home/phoronix/clang33/Release/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
    CFLAGS=-O3 -march=native
    CXXFLAGS=-O3 -march=native

  7. #7
    Join Date
    Feb 2013
    Posts
    6

    Default Benchmark selection

    Okay, if you are testing O3 then you need to update the caption below the charts. The current captions describe some g++ flags.

    Also, why did you choose these workloads ? I am puzzled by the odd benchmark selection. When you benchmarked the auto-vectorizerd you decided to run some database program, and for this you decided to focus on cryptography (John and Botan). You should standardize your workload set and keep it the same for all of your reviews.

  8. #8
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,182

    Default

    Usually the set of tests is the same, but only interesting changes get shown in the articles. For the full set there's usually the openbenchmarking link.

  9. #9
    Join Date
    Sep 2009
    Posts
    60

    Default GCC vs Clang Please

    Last GCC vs Clang (too long ago) had GCC winning most of the time (in ARM?), but the latest gains for Clang are greater than GCC.
    Mentally, I don't know which is faster now.

    ARM & AMD64

  10. #10
    Join Date
    Mar 2013
    Posts
    47

    Default

    Quote Originally Posted by curaga View Post
    Usually the set of tests is the same, but only interesting changes get shown in the articles. For the full set there's usually the openbenchmarking link.
    One thing I would like to see, with all these benchmarks, is some analysis of why we are seeing what we are seeing.
    For example, in the aggressive improvements we have seen, is there reason to believe that the results are
    - because of the auto-vectorizing? OR
    - because of AVX (ie the 3.2 vectorizing worked well, just didn't target AVX)? OR
    - recognition of idioms and automatic use of the Intel crypto instructions from C? OR
    - polyhedral optimization (automatic refactoring array code for better memory usage --- been demoed for a while, but I don't know if it has been mainlined yet or not)? OR
    - automatic use of OpenMP? (this has been an ongoing difference between GCC and LLVM, to the extent that many of the benchmarks we have seen are worthless if you want to UNDERSTAND the compilers, as opposed to simply wanting to spout your mouth off). I also don't know if automatic use of OpenMP has made it into mainline LLVM 3.3

    Point is, with these sorts of details these articles could become so much more valuable.

Posting Permissions

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