Announcement

Collapse
No announcement yet.

GCC 10 Link-Time Optimization Benchmarks On AMD Threadripper

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

  • GCC 10 Link-Time Optimization Benchmarks On AMD Threadripper

    Phoronix: GCC 10 Link-Time Optimization Benchmarks On AMD Threadripper

    Stemming from the recent news in Fedora 32 potentially LTO'ing packages by default for better performance and not yet having checked on the Link-Time Optimization performance of the in-development GCC 10, here is a fresh look at the possible performance gains from making use of link-time optimizations for generating faster binaries. This round of testing was done on the AMD Ryzen Threadripper 3960X and is complementary to the recent Profile Guided Optimization benchmarks.

    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
    Hm these benchmarks do not seem to be too impressive, but IIRC Firefox does benefit quite a bit from it, which AFAIK is one of the reasons it performs relatively well on Fedora compared to other distros (see https://www.phoronix.com/scan.php?pa...os-50cpu&num=2)

    See also https://mastransky.wordpress.com/201...-with-pgo-lto/ and https://mastransky.wordpress.com/202...-team-at-2019/
    Last edited by treba; 07 January 2020, 04:30 PM.

    Comment


    • #3
      Now try with PGO

      Comment


      • #4
        Originally posted by Mario Junior View Post
        Now try with PGO
        FTA: "and is complementary to the recent Profile Guided Optimization benchmarks."
        Michael Larabel
        https://www.michaellarabel.com/

        Comment


        • #5
          Typo:

          Originally posted by phoronix View Post
          The BYTE Dhyrostone 2 benchmark benefited a great deal from Link-Time Optimizations, coming out about 40% faster.

          Comment


          • #6
            Originally posted by treba View Post
            Hm these benchmarks do not seem to be too impressive
            What do you mean with not impressive? I think it's super impressive that you can eek out several more percent performance just from "smarter linking". And that's just from watching one program interact with the system and limited hardware resources.

            Granted there seems to be some regressions that need investigation but other than that, LTO looks like a boon for a lot of use cases.
            Last edited by milkylainen; 07 January 2020, 05:04 PM.

            Comment


            • #7
              How do you get 5.4 on 19.10? Custom built? I've run a 48-thread compile of our own product on the newly arrived 3960X, pretty darn sweet. It usually compiles for around 30 minutes, on this beast it went down to 6 lol.

              Currently I run it with 18.04 + hwe-edge (5.3); besides that stupid MCE bug (btw thanks for the workaround!), it seems to run solid so far.

              Comment


              • #8
                Originally posted by milkylainen View Post

                What do you mean with not impressive?
                Just saying that I've seen cases where it had stronger impact. No offence

                Comment


                • #9
                  Originally posted by anarki2 View Post
                  How do you get 5.4 on 19.10? Custom built? I've run a 48-thread compile of our own product on the newly arrived 3960X, pretty darn sweet. It usually compiles for around 30 minutes, on this beast it went down to 6 lol.

                  Currently I run it with 18.04 + hwe-edge (5.3); besides that stupid MCE bug (btw thanks for the workaround!), it seems to run solid so far.
                  Ubuntu Mainline PPA most often aside from when I am bisecting or needing to patch my kernels.
                  Michael Larabel
                  https://www.michaellarabel.com/

                  Comment


                  • #10
                    Binary size would be interesting, LTO typically can drop unused stuff. I did compile git with LTO one time and since there are multiple binaries using the same library, but each only a fraction of it, LTO did produce binaries that were significantly smaller.

                    did not know `-fwhole-program` still makes a difference, thought this was not needed with linker plugins anymore

                    Comment

                    Working...
                    X