Announcement

Collapse
No announcement yet.

GCC 6.1 Compiler Optimization Level Benchmarks: -O0 To -Ofast + FLTO

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

  • GCC 6.1 Compiler Optimization Level Benchmarks: -O0 To -Ofast + FLTO

    Phoronix: GCC 6.1 Compiler Optimization Level Benchmarks: -O0 To -Ofast + FLTO

    Here are some extra GCC 6.1 compiler benchmarks to share this weekend, complementing the recent GCC 4.9 vs. GCC 5 vs. GCC 6 comparison and the GCC 6.1 vs. Clang 3.9 compiler comparison...

    http://www.phoronix.com/scan.php?pag...-Optimizations

  • #2
    Ahhh, good old compiler flags. I think of two things here, gentoo and what impact it has on my own software.

    Comment


    • #3
      Originally posted by b15hop View Post
      Ahhh, good old compiler flags. I think of two things here, gentoo and what impact it has on my own software.
      Yea. Too bad there wasn't the standard -O2 -march=native in the results.

      Comment


      • #4
        I wouldn't use anything built using the -Ofast compilation flag, except maybe video players.

        Comment


        • #5
          Coward.

          Comment


          • #6
            Originally posted by birdie View Post
            I wouldn't use anything built using the -Ofast compilation flag, except maybe video players.
            Perhaps you mean video libraries. Other good example to use is all that archiving software such as bzip2, gzip etc. Graphics would gain from it as well

            Comment


            • #7
              Originally posted by birdie View Post
              I wouldn't use anything built using the -Ofast compilation flag, except maybe video players.
              No reason not to, that is, for well made programs.

              Comment


              • #8
                Originally posted by GreatEmerald View Post

                Yea. Too bad there wasn't the standard -O2 -march=native in the results.
                I agree, I don't get why Michael doesn't use "-march=native" for all of them? I wouldn like to see the difference between the different optimization stages without changing the support for SSE/AVX/etc.

                Comment


                • #9
                  Originally posted by atomsymbol

                  Using -march=native on AMD CPUs (and maybe newest Intel CPUs) goes against optimization - in the "bigger picture" - because Valgrind's callgrind tool does not support some of the instructions emitted by the compiler. Using -mavx is ok with callgrind, but for example -march=bdver3 isn't.

                  I am not sure whether callgrind understands instructions generated from -mavx2, I did not test this case.
                  I don't understand, how is Callgrind relevant for general performance testing?

                  Comment


                  • #10
                    It seems LTO linker plugin is still not enabled. You won't get working static libraries (probably needed for imagemagick) and much of code quality benefits without it.

                    Comment

                    Working...
                    X