Announcement

Collapse
No announcement yet.

CachyOS Optimizing More Packages With PGO For Up To ~10% Better Performance

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

  • CachyOS Optimizing More Packages With PGO For Up To ~10% Better Performance

    Phoronix: CachyOS Begins Optimizing More Packages With PGO For Up To ~10% Better Performance

    The Arch Linux based CachyOS operating system that is known for pursuing aggressive performance while still delivering a nice Linux desktop experience is out with its September 2024 release...

    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
    Great to see that more and more engineers are trying to optimize software with PGO. I hope one day this optimization also will be used for more packages in more "regular" distros.

    Comment


    • #3
      A 10% improvement is not very high for clang. A really highly optimized clang can usually be 50% faster than distro clang and 100% faster than distro gcc.

      Comment


      • #4
        Originally posted by edxposed View Post
        A 10% improvement is not very high for clang. A really highly optimized clang can usually be 50% faster than distro clang and 100% faster than distro gcc.
        Do you have anything more substantial on that than an anecdotal claim?

        Comment


        • #5
          Originally posted by edxposed View Post
          A 10% improvement is not very high for clang. A really highly optimized clang can usually be 50% faster than distro clang and 100% faster than distro gcc.
          I hope you are not working in IT anywhere.

          Comment


          • #6
            Originally posted by phoronix
            CachyOS has also been transitioning from Zlib to Zlib-ng
            I wonder if they have a proper fix for Chromium and QtWebengine? I made this switch on my Gentoo system after seeing Fedora do so but Chromium and QtWebengine have build failures now due to their minizip usage (minizip-ng isn't completely compatible with minizip).

            Fedora used bundled/vendored libs to get around this but Gentoo won't do that, they think it's an upstream issue with minizip-ng (and to be fair they're right). On the bright side this made me uninstall a bunch of crap and now I run Chromium or anything that needs WebEngine in Flatpaks.

            Comment


            • #7
              Originally posted by edxposed View Post
              A 10% improvement is not very high for clang. A really highly optimized clang can usually be 50% faster than distro clang and 100% faster than distro gcc.
              Yes, we know, but for a Dynamic/Shared compiled Clang this is still quite good. We are already happy to optimize that much the dynamic clang.
              Here you can find the Results of the Dynamic Clang:
              https://github.com/CachyOS/CachyOS-PKGBUILDS/pull/329

              Here with a static build llvm/clang:
              https://github.com/ptr1337/llvm-bolt...ter/results.md

              The difference is massive, but it is what it is. We follow archlinux with the packaging and that will stay like this.

              Thanks for posting Michael

              Comment


              • #8
                Originally posted by ahrs View Post

                I wonder if they have a proper fix for Chromium and QtWebengine? I made this switch on my Gentoo system after seeing Fedora do so but Chromium and QtWebengine have build failures now due to their minizip usage (minizip-ng isn't completely compatible with minizip).

                Fedora used bundled/vendored libs to get around this but Gentoo won't do that, they think it's an upstream issue with minizip-ng (and to be fair they're right). On the bright side this made me uninstall a bunch of crap and now I run Chromium or anything that needs WebEngine in Flatpaks.
                We have currently just replaced with the zlib-ng-compat layer, but on Archlinux we will push likely in the near future also zlib-ng as replacement and then supported packages will use the native zlib-ng.

                Comment


                • #9
                  Originally posted by zamazan4ik View Post
                  Great to see that more and more engineers are trying to optimize software with PGO. I hope one day this optimization also will be used for more packages in more "regular" distros.
                  Thanks for your collection related to PGO. We have looked quite much into this and took also some workloads for you, to create these PKGBUILDs.
                  Really helped us much and we want to work on more packages for this.

                  Many distributions do not like to use PGO, because it does not work well with reproduciblity. The only way would be, to "precreate" PGO profiles, upload them into the source directory and after that use htem

                  Comment


                  • #10
                    Originally posted by ptr1337 View Post

                    Yes, we know, but for a Dynamic/Shared compiled Clang this is still quite good. We are already happy to optimize that much the dynamic clang.
                    Here you can find the Results of the Dynamic Clang:
                    https://github.com/CachyOS/CachyOS-PKGBUILDS/pull/329

                    Here with a static build llvm/clang:
                    https://github.com/ptr1337/llvm-bolt...ter/results.md

                    The difference is massive, but it is what it is. We follow archlinux with the packaging and that will stay like this.

                    Thanks for posting Michael
                    This would be a shame, as a reliable fast compiler would be valuable for CI use cases. We currently have to maintain our own clang builds.

                    Comment

                    Working...
                    X