Announcement

Collapse
No announcement yet.

A Look At The GCC 9 Performance On Intel Skylake Against GCC 8, LLVM Clang 7/8

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

  • A Look At The GCC 9 Performance On Intel Skylake Against GCC 8, LLVM Clang 7/8

    Phoronix: A Look At The GCC 9 Performance On Intel Skylake Against GCC 8, LLVM Clang 7/8

    With GCC 9 embarking upon its third stage of development where the focus ships to working on bug/regression fixes in preparation for releasing the GCC 9.1 stable compiler likely around the end of Q1'2019, here is a fresh look at the GCC 9 performance with its latest development code as of this week compared to GCC 8.2.0 stable while using an Intel Core i9 7980XE test system running Ubuntu Linux. For good measure are also fresh results from LLVM Clang 7.0 stable as well as LLVM Clang 8.0 SVN for the latest development state of that competing C/C++ open-source compiler.

    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
    Thanks for the benchmarks, as always these are very interesting.

    I have to ask though, in the benchmarks where you don't list any optimizations like in the 'High Performance Conjugate Gradient' test, and in 'John the Ripper' where there is no optimization level stated, are you sure that they are actually compiling with -O3 -march=native ? Because if not then you are likely benchmarking -O0 which is the default, and pointless in a comparison such as this.

    Comment


    • #3
      Originally posted by Grinch View Post
      Thanks for the benchmarks, as always these are very interesting.

      I have to ask though, in the benchmarks where you don't list any optimizations like in the 'High Performance Conjugate Gradient' test, and in 'John the Ripper' where there is no optimization level stated, are you sure that they are actually compiling with -O3 -march=native ? Because if not then you are likely benchmarking -O0 which is the default, and pointless in a comparison such as this.
      The -O3 -march=native CFLAGS/CXXFLAGS are being passed to all of the tests.

      The flags aren't being reported by some of the tests just due to their build proceeds. PTS tries to mask the environment in order to automatically catch and parse what flags a given program may be passing down to the compiler, but it's not 100% perfect with some pesky programs in always being able to catch the flags they are passing (not sure if there is any better or more uniform method today, this is just based upon this compiler masking code I wrote some years ago).
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #4
        typo last page: GCC 7.2

        Edit: now corrected
        Last edited by George99; 13 November 2018, 03:02 PM.

        Comment


        • #5
          Originally posted by George99 View Post
          typo last page: GCC 7.2
          Where? After "were tied with"?

          One more: SKylake

          Comment


          • #6
            Clang vs gcc results are always incredibly mixed.
            Interestingly enough, I found that on my latest C++ project clang is immensely faster than gcc (both -O3 -march=generic). I've found the opposite to be true sometimes. Either way, if you care about optimization as a C or C++ developer (or other languages like Rust or D), you must try compiler explorer, it's a fantastic tool.

            Too bad MSVC doesn't run on Linux, otherwise we could at least laugh at it unconditionally!

            Comment


            • #7
              Originally posted by AsuMagic View Post
              if you care about optimization as a C or C++ developer (or other languages like Rust or D), you must try compiler explorer, it's a fantastic tool.
              Absolutely! https://github.com/mattgodbolt/compiler-explorer

              Comment


              • #8
                Could you try comparing "-O3 -march=native" with "-O3 -march=native -mprefer-vector-width=512" ? I'd like to see the difference actually using avx-512 makes.

                Comment


                • #9
                  How does gcc/gfortran clang/flang compare to icc/ifort these days? (a coworker claimed Intel's compilers are still "superior")

                  Comment


                  • #10
                    Originally posted by thebear View Post
                    How does gcc/gfortran clang/flang compare to icc/ifort these days? (a coworker claimed Intel's compilers are still "superior")
                    AFAIK when dealing with vectorization icc is usually better. And IIRC it can do functionning versioning like gcc and now Clang can but automatically.

                    Comment

                    Working...
                    X