Announcement

Collapse
No announcement yet.

Zapcc Is Showing Compile Times Even Faster Than LLVM Clang

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

  • Zapcc Is Showing Compile Times Even Faster Than LLVM Clang

    Phoronix: Zapcc Is Showing Compile Times Even Faster Than LLVM Clang

    The Zapcc compiler stack is proving to be faster than LLVM/Clang at compiling C++ codes, which in turn is much faster already than GCC. The performance of the generated binaries from this LLVM-based compiler stack is on-par with what's offered by Clang...

    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
    Performance of the compiled binaries is far more important to me than compile time. Well, unless the compile time is 10 times longer with the binaries only being 1% faster or something.

    Comment


    • #3
      Originally posted by NateHubbard View Post
      Performance of the compiled binaries is far more important to me than compile time. Well, unless the compile time is 10 times longer with the binaries only being 1% faster or something.
      AFAICT, the difference between Zapcc and plain Clang is that Zapcc keeps the internal representation of invariable headers in memory (in a background server), so the code they should (theoretically) produce is the same and any difference is an artifact, and, thus, it just gives a build-time gain without any runtime penalty. I believe that Zapcc is staying separate for now because of how big the changes are and the early state of the project.

      Comment


      • #4
        Compilation time gets relevant when you are deploying to multiple configurations, and you need to check if all your builds are warning/error free. Differences in toolchains make this all more troublesome.
        Unfortunately, Zapcc would need to be ported to all my targets for this compilation time decrease to be more meaningful.

        Comment


        • #5
          Originally posted by kalrish View Post
          I believe that Zapcc is staying separate for now because of how big the changes are and the early state of the project.
          It's staying separate because it's not open source project and likely never will be.

          Comment


          • #6
            Originally posted by phoronix View Post
            The Zapcc compiler stack is proving to be faster than LLVM/Clang at compiling C++ codes
            Aw. Really. Are we going to just adopt that weird misuse of a mass-noun in technical writing now? It hurts...

            Comment


            • #7
              Originally posted by kalrish View Post
              AFAICT, the difference between Zapcc and plain Clang is that Zapcc keeps the internal representation of invariable headers in memory (in a background server), so the code they should (theoretically) produce is the same and any difference is an artifact, and, thus, it just gives a build-time gain without any runtime penalty. I believe that Zapcc is staying separate for now because of how big the changes are and the early state of the project.
              So it is precompiled headers with separate caching?

              Comment


              • #8
                Originally posted by NateHubbard View Post
                Performance of the compiled binaries is far more important to me than compile time. Well, unless the compile time is 10 times longer with the binaries only being 1% faster or something.
                Agreed, but for "prototype" purposes, Zapcc might be a good time saver. Once you develop the software to your liking, then you'd want to use something like Clang for optimizations.

                Comment


                • #9
                  Originally posted by SXX⁣ View Post
                  It's staying separate because it's not open source project and likely never will be.
                  I was under the impression that the code had not yet been published because of its early state, but that the intention was to open-source and upstream it once it was more mature.
                  Originally posted by http://lists.llvm.org/pipermail/cfe-dev/2015-May/043155.html
                  […] zapcc is not yet ready for public beta. We prefer to release a more reliable product rather than waste your time.
                  I took "public" to mean "open-source" as that "waste your time" sounded to me like a reference to a merge review.

                  Comment


                  • #10
                    Originally posted by sehe View Post

                    Aw. Really. Are we going to just adopt that weird misuse of a mass-noun in technical writing now? It hurts...
                    To which noun are you referring? Stack?
                    All opinions are my own not those of my employer if you know who they are.

                    Comment

                    Working...
                    X