Announcement

Collapse
No announcement yet.

GCC vs. LLVM Clang Compiler Performance On AMD's Ryzen

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

  • #11
    Originally posted by phoronix View Post
    Phoronix: GCC vs. LLVM Clang Compiler Performance On AMD's Ryzen

    Our latest AMD Ryzen Linux benchmarking is looking at the performance of the GCC and LLVM Clang compiler performance with a Ryzen 7 1700 on Ubuntu Linux.

    http://www.phoronix.com/vr.php?view=24314
    Hey Michael thanks for this test. Can you share some detail on your timed compilation tests, do you use single threaded make or make --jobs # and what number do you pass ? (number of cores? Number of virtual processors shown in /proc/cpuinfo ? What does the Phoronix test suite default to?)

    Comment


    • #12
      Originally posted by sordna View Post

      Hey Michael thanks for this test. Can you share some detail on your timed compilation tests, do you use single threaded make or make --jobs # and what number do you pass ? (number of cores? Number of virtual processors shown in /proc/cpuinfo ? What does the Phoronix test suite default to?)
      The details on any test profile can be found by going to OpenBenchmarking.org, finding the test, then clicking on the link for the particular test version.
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #13
        Michael, you should really keep the order of tests between the plots. E.g. by sorting the bars by the lable.

        Comment


        • #14
          Originally posted by Michael View Post

          The details on any test profile can be found by going to OpenBenchmarking.org, finding the test, then clicking on the link for the particular test version.
          I went there but see: make -s -j \$NUM_CPU_JOBS 2>&1
          How is $NUM_CPU_JOBS calculated ? Curious to see if it's set to 8 or 16 for ryzen.

          Comment


          • #15
            Originally posted by sordna View Post

            I went there but see: make -s -j \$NUM_CPU_JOBS 2>&1
            How is $NUM_CPU_JOBS calculated ? Curious to see if it's set to 8 or 16 for ryzen.
            it would be 16 for ryzen
            Michael Larabel
            https://www.michaellarabel.com/

            Comment


            • #16
              Michael Would have been nice to include at least one intel cpu result in those, to see which differences are just generic clang vs gcc (probably most?), and which may be reflecting something ryzen specific. Still great to see more results anyway

              Comment


              • #17
                Pardon my ignorance, but for completeness the introduction should have stated what is evidently obvious to the rest of your readers: Viz., what, specifically, was compiled -- the test software?

                Comment


                • #18
                  Originally posted by Michael View Post

                  it would be 16 for ryzen
                  Thanks! Maybe you could add this variable to the System Logs, environment-variables section, or somewhere in your compilation test details, so it's easy to get in the future.

                  Any chance you'll do some tests with 8 jobs and SMT disabled ? Since your mobo can't do it, you can offline the 2nd virtual cpu for every real core id, in this case: for num in 1 3 5 7 9 11 13 15 ; do echo 0 > /sys/devices/system/cpu/cpu$num/online ; done

                  Comment


                  • #19
                    Originally posted by Michael View Post
                    Just straight wins vs. losses, if anyone has any better ideas or complementary data, patches certainly welcome! The code is really easy in that part.
                    I'd suggest something like a matrix that tells you something like "x outperforms y in n tests". There's probably a term for that that I don't know.

                    This ought to give a more complete picture than the current metric and, more importantly, makes it easier to count results within a 3% range or so as "on par" (i.e., ignoring it completely). I mean, look at the Stockfish results, there is no real "winner" there, the only real outlier is Clang 4.0. Everything else performs basically the same.

                    Comment


                    • #20
                      Wow, those are huge differences even between versions of tfhe same compiler! Makes me want the best of each.

                      I'd guess the variations are larger with Ryzen than usual, but difficult to tell since they are surprisingly large always.

                      Comment

                      Working...
                      X