No announcement yet.

PostgreSQL Begins Landing LLVM JIT Support For Faster Performance

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by pal666 View Post
    what are you trying to say, that gcc was not improving before clang(i.e. it existed in unchanging state since 1989), or that it would stop improving if clang wouldn't come out and you checked this is true by travelling to parallel universe?
    That is all true, gcc has been improving long before llvm existed.

    I think his point is that there are a few things gcc has changed recently to compete a little better with llvm. For example:
    * GCC switched to C++ to make it more appealing to developers, the discussion was prompted by llvm success
    * GCC explicitly resisted modularizing the compiler for a long time due to concerns about it being used in proprietary software. They have changed direction and there has been a lot of work done to modularize GCC.
    * GCC has improved some error messages to match llvm

    The other way is also true. llvm has made changes specifically to compete with gcc. There is some level of friendly competition going on between these 2 projects, they take ideas from each other and both of them are better for it.


    • #22
      Originally posted by paulpach View Post
      * GCC switched to C++ to make it more appealing to developers, the discussion was prompted by llvm success
      that discussion was prompted by author of c++ linker(gold), llvm was only one of bullet points

      competition is always good, but original post was a little more black and white


      • #23
        Originally posted by wizard69 View Post
        The GPL is an absolutely evil license especially in the context of software developed by large groups of people. One of the good things that the LLVM/Clang community did was to force people responsible for GCC to improve GCC.

        History is not on your side. Many C and C++ compilers have come and gone. The open source compilers majority that live past 10 years old have 1 thing in common they are are LGPL/GPL. A project like a Compiler does not stay alive if people don't keep adding new code to it to support new platforms and new hardware. So GPL restrictive license is not a hindrance.

        Originally posted by wizard69 View Post
        GCC doesn't universally emit better code. In any event CLang most certainly stimulated many improvements to GCC especially in code generation and error reporting. Friendly competition is a good thing and it is my understanding that the two teams are on good terms. The reality is LLVM/CLang has been a positive impact on GCC.
        Its not 100 percent friendly competition. There have been a few complaints on the LLVM side about GCC taking code and over-licensing with GPLv3. You also look closer at what you said stimulated. You might be surprised to find how many of those GCC improves contain copied code sections from LLVM, At this point it should come clear that this is not exactly friendly.

        Originally posted by wizard69 View Post
        As for the issue of using GCC in other projects one should not assume that an advantage of LLVM is something GCC needs. We don't need two look a like compilers in this world. Rather the community is much better off having technology explored on two different tracks. This can be likened to new computer languages like D, Swift, Rust and others trying to become the ideal language for future development. In the end it is all good.
        GCC should be presume to have advantage over LLVM for code generation. Because anything LLVM developers does great GCC developers can redo in their code base no issues including copying blocks of code. But LLVM developers don't have the same advantage. Of course Gcc should not fear LLVM because it has a one way advantage. If gcc got too far behind LLVM they could rebase on LLVM and go forwards. If LLVM gets too far behind GCC they cannot do that.


        • #24
          Originally posted by clockley1 View Post
          One has to wonder how much further the FOSS ecosystem would have progressed if GCC had a modular codebase and a different licence. While GCC may emit better code no one else can use the technology.
          To the contrary. Everyone can use the technology, but has to abide by the licence. I don't see any problem with that. The FOSS community owes nothing to proprietary software developers and doesn't have to change its licences and practices to give them a free ride.