Announcement

Collapse
No announcement yet.

OpenSUSE Tumbleweed Eyeing LTO By Default; GCC 9 Optimization Work Thanks To Firefox

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

  • OpenSUSE Tumbleweed Eyeing LTO By Default; GCC 9 Optimization Work Thanks To Firefox

    Phoronix: OpenSUSE Tumbleweed Eyeing LTO By Default; GCC 9 Optimization Work Thanks To Firefox

    Longtime GCC developer Honza Hubička of SUSE has posted a lengthy and quite interesting blog post concerning some of the optimization work that went into the now-released GCC 9 compiler. It turns out some of the GCC 9 optimization work was motivated by the Firefox developers and their desire to switch to LLVM Clang in the name of performance. Separately, openSUSE Tumbleweed has been looking at using link-time optimizations (LTO) by default for their packages and that has also motivated developers and help ensured the LTO support was in good shape for this annual compiler release...

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

  • #2
    Originally posted by phoronix View Post
    by the Firefox developers and their desire to switch to LLVM Clang in the name of performance.
    The performance aspect was a red herring, they wanted to switch to a single toolchain (they deprecated Visual Studio as well) in order to make it easier for themselves. The benchmark they did was the latest Clang/LLVM version against a very old GCC, and as Hubicka has shown, that performance benefit is not there when comparing against the current version of GCC.

    I don't really blame the Firefox devs for wanting to do less support, but the performance argument was very deceptive.

    Comment


    • #3
      LTO? SUSE is another after OpenMandriva (and Gentoo?) distro that use LTO by default.

      Comment


      • #4
        Originally posted by Grinch View Post
        The performance aspect was a red herring, they wanted to switch to a single toolchain (they deprecated Visual Studio as well) in order to make it easier for themselves. The benchmark they did was the latest Clang/LLVM version against a very old GCC, and as Hubicka has shown, that performance benefit is not there when comparing against the current version of GCC.

        I don't really blame the Firefox devs for wanting to do less support, but the performance argument was very deceptive.
        If nothing else, it'll make The Benchmarks Game results interesting for anyone who wants to treat it like a horse race. Rust just slipped ahead of C++ before this was announced. (May 1st benchmarks and an unknown number of late April ones have it sitting behind C and ahead of C++ as the second-fastest language in the chart.)

        I'll say it again. I really wish TBG would compare C and/or C++ for GCC vs. Clang so I could get a rough idea of how much "LLVM's optimizers aren't as good yet" might be holding Rust back.

        Comment


        • #5
          Originally posted by xpris View Post
          ...(and Gentoo?) distro that use LTO by default.
          Not really. There's an overlay called gentooLTO (it's really nice btw) but no default so far. They are aiming towards it though.

          Comment


          • #6
            If OpenSUSE wants better performance, maybe they should take care of low-hanging fruit first: https://www.phoronix.com/scan.php?pa...lt-Spectre-Hit

            Comment


            • #7
              Originally posted by DanL View Post
              If OpenSUSE wants better performance, maybe they should take care of low-hanging fruit first: https://www.phoronix.com/scan.php?pa...lt-Spectre-Hit
              Reading some relevant threads in the opensuse mailing list, they're not going to "take care" of it, by default. Without IBRS, the mitigation isn't complete, and I'm with them that this issue is not to blame opensuse devs. It was suggested that some toggle at install time could be useful for those who doesn't care about compromising the security of their PCs, which seems reasonable.

              Comment


              • #8
                Originally posted by Grinch View Post
                The performance aspect was a red herring, they wanted to switch to a single toolchain (they deprecated Visual Studio as well) in order to make it easier for themselves. The benchmark they did was the latest Clang/LLVM version against a very old GCC, and as Hubicka has shown, that performance benefit is not there when comparing against the current version of GCC.

                I don't really blame the Firefox devs for wanting to do less support, but the performance argument was very deceptive.
                To be fair, that argument was taken out of context by Michael and others.

                I think the original blog post by the Firefox devs was quite clear that switching from an older version of firefox to the newer version of Clang didn't hurt performance. In other words, they were mostly checking to make sure that wasn't a reason against switching their existing toolchain over, rather than arguing that it was a reason they should. Newer versions of GCC weren't tested because that wasn't an option they were even considering at that point.

                Other people then took it out of context to create clickbait saying that Clang was faster than GCC in general, which Firefox devs never said anywhere.
                Last edited by smitty3268; 05-04-2019, 06:48 PM.

                Comment


                • #9
                  LLVM, the best thing that happened to GCC, after EGCS.

                  Comment


                  • #10
                    Originally posted by useless View Post

                    Reading some relevant threads in the opensuse mailing list, they're not going to "take care" of it, by default. Without IBRS, the mitigation isn't complete, and I'm with them that this issue is not to blame opensuse devs. It was suggested that some toggle at install time could be useful for those who doesn't care about compromising the security of their PCs, which seems reasonable.
                    OpenSUSE and and SLES are pretty much identical. The enterprise customers *Need* that extra bit of security, as they operate with Personal Information (Healthcare, Payroll, HR, and Benefits). Until the CPU manufacturers get their acts together to eliminate this as an issue, I'd say that RHEL, SLES, Oracle Unbreakable, and Ubuntu Enterprise should have it turned on. It would be far cheaper to throw hardware at the issue, than have a breach.

                    Comment

                    Working...
                    X