Announcement

Collapse
No announcement yet.

Profile Guided Optimizations (PGO) Likely Coming To Linux 5.14 For Clang

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

  • #21
    Originally posted by mdedetrich View Post
    Thats probably because GCC has historically screwed up enough times that its been put on Linus's "observe with care" radar where as Clang's LLVM LTO has proven itself by being shipped in millions (billions?) of androids devices as well as being used in cloud providers, in other words its had plenty of testing.
    While I appreciate the candour, do note that GCC has a much longer history. LLVM/Clang's history is a short one and it has only recently become able to compile the kernel. It is unprofessional to assume a new piece of software was better than one you have been using for decades, that enabled you to get to where you are today and where you have made plenty of experience with.

    The screw ups were not only on the compiler side, but the compiler helped in uncovering issues with the kernel, too. Nor is LLVM/Clang completely independent from GCC, but the two do share some cooperation. The problem is with the amount of expectations placed into compilers, and once LLVM/Clang bites you will it be just the same and you end up making a new experience, which you can hate, or appreciate and learn from.

    In open source projects can one turn a problem into a win-win by learning from it and by cooperating with other projects, by passing on the knowledge, and allowing others to learn from it, too. Or you can do it wrong by passing around blame, give hate speeches, and what not. Not everybody understands this at start and it has resulted many times in all kinds of conflicts in the open source community.

    I am going to leave it at that. I am looking forward to 5.14, 5.15 or perhaps 5.16, and maybe we see the support for GCC LTO finally landing within the mainline kernel.

    Comment


    • #22
      Originally posted by sdack View Post
      While I appreciate the candour, do note that GCC has a much longer history. LLVM/Clang's history is a short one and it has only recently become able to compile the kernel. It is unprofessional to assume a new piece of software was better than one you have been using for decades, that enabled you to get to where you are today and where you have made plenty of experience with.
      Its not unprofessional to assume that new software can be better than older software, in fact having such a view of things I would argue is primitive. Newer software can often be better than older software since it can start off with a better design and/or better technologies which have a better net effect then any "decades of bug fixing" (its often feasibly impossible for older software to significantly change fundamental design of said software).

      This is btw why LLVM was started and why Apple poured so many resources into it, Apple used to use GCC but the design was so monolithic that they had technical issues with implementing what we see now as basic IDE/Editor inspection cabilities for C/C++/objective C code

      Originally posted by sdack View Post
      The screw ups were not only on the compiler side, but the compiler helped in uncovering issues with the kernel, too. Nor is LLVM/Clang completely independent from GCC, but the two do share some cooperation. The problem is with the amount of expectations placed into compilers, and once LLVM/Clang bites you will it be just the same and you end up making a new experience, which you can hate, or appreciate and learn from.
      Considering its young age, LLVM hasn't been any worse in the "screw up" department compared to GCC. You have to realize that LLVM is now used at a massive scale, so its having plenty of battle testing

      Originally posted by sdack View Post
      In open source projects can one turn a problem into a win-win by learning from it and by cooperating with other projects, by passing on the knowledge, and allowing others to learn from it, too. Or you can do it wrong by passing around blame, give hate speeches, and what not. Not everybody understands this at start and it has resulted many times in all kinds of conflicts in the open source community.

      I am going to leave it at that. I am looking forward to 5.14, 5.15 or perhaps 5.16, and maybe we see the support for GCC LTO finally landing within the mainline kernel.
      Sure, but at the end of the day Linux is going to use the tool that is better for the job. In the case of LTO, that was Clang over GCC.
      Last edited by mdedetrich; 15 June 2021, 06:59 PM.

      Comment


      • #23
        Originally posted by mdedetrich View Post
        Its not unprofessional to assume ...
        The very idea to base a decision merely on assumptions is unprofessional. As is most of your comment.
        Last edited by sdack; 16 June 2021, 07:26 AM.

        Comment


        • #24
          Originally posted by sdack View Post
          The very idea to base a decision merely on assumptions is unprofessional. As is most of your comment.
          Your entire argument is based off assumptions, so do me a favor and follow your own advice.

          Comment


          • #25
            Originally posted by mdedetrich View Post
            Your entire argument is based off assumptions, so do me a favor and follow your own advice.
            No, this is just another assumption you are making. I am drawing from experience.

            Comment

            Working...
            X