Announcement

Collapse
No announcement yet.

Some Fresh Clang Optimization Benchmarks

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Some Fresh Clang Optimization Benchmarks

    Phoronix: Some Fresh Clang Optimization Benchmarks

    As some extra benchmarks to toss out there this weekend are some Clang 3.8 SVN compiler benchmarks when trying out different optimization levels...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Hmm, is there a reason for no -0fast, or does that not exist with Clang?

    I compile some software daily and currently use -0s, and prior to that, -02, but would really be interested in seeing if there's any real benefits to -0fast in benchmarks, mainly with GCC (but wouldn't mind also with Clang).

    Comment


    • #3
      Originally posted by Espionage724 View Post
      Hmm, is there a reason for no -0fast, or does that not exist with Clang?

      I compile some software daily and currently use -0s, and prior to that, -02, but would really be interested in seeing if there's any real benefits to -0fast in benchmarks, mainly with GCC (but wouldn't mind also with Clang).
      GCC is unable to ensure that -O3 and -Ofast are always better than -O2.

      Comment


      • #4
        Originally posted by siavashserver
        The real benefits do come with -march=native and profile guided optimizations.
        Just some notes:

        - I am avoiding -march=native because Valgrind is unable to handle certain AMD instructions.

        - In my opinion, C/C++ profile guided optimizations won't be generally used until the recompilation is fully automated (or at least reasonably automated).

        Comment


        • #5
          the main difference you would see with -Ofast is that it turns on ffast-math

          Comment


          • #6
            You guys whined about no OpenMP support in LLVM/Clang. It's now well supported and you don't leverage it with GraphicsMagick and more. What gives?

            Comment


            • #7
              Originally posted by << ⚛ >> View Post

              GCC is unable to ensure that -O3 and -Ofast are always better than -O2.
              So is clang and ANY compiler with an -O3 level. If an optimization is trivially better it would be included in -O2, -O3 is specifically for things that are most likely faster, but is likely to make binaries larger and if the program has no large inner-loop the compiler can improve, it might overall become slightly slower.

              On another topic, seems clang has two minor issues they might want to look into, there was a -O1 to -O2 performance hit and a -march=native performance hit.

              Comment

              Working...
              X