Announcement

Collapse
No announcement yet.

Zapcc Caching C++ Compiler Open-Sourced

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

  • #21
    Originally posted by discordian View Post
    If 5 files depend on the same (changed) header, then all 5 compilation steps will read the file from disk and start parsing it from scratch.
    unless you are using precompiled headers. though subj does it automatically and caches more stuff

    Comment


    • #22
      Originally posted by caligula View Post

      Um, shouldn't a person in your position care about compile times, not the one that compiles only one application in a year? The changes here mostly affect the frontend, not code generation.
      Gentoo, every app compiled once, then installed and forgotten until update comes out.

      Comment


      • #23
        Originally posted by computerquip View Post

        You'll care when compile times take a few hours to get done.
        Nope... Nice -n 20 applied during compile, I can play Dota2 meanwhile

        Comment


        • #24
          Originally posted by kpedersen View Post

          Agreed. I don't really see the problem here. Once the initial compilation on complete, only units dependent on subsequent changes get recompiled anyway.

          Unless people are perhaps working with broken build systems, are not forward declaring or using sloppy systems requiring .NET (ubt and Unreal Engine 4).

          That said, I have seen some terrible choices made by developers such as for test / debug iterations, simply committing to Git and allowing the build server to build the binary for i.e Android rather than actually getting the damn Android NDK working on their own machine. So frigging lazy.

          Good to see the project open-sourced in any case. It means people will actually use it
          True that. So far did not see need to use anything but GCC though,,,

          Comment


          • #25
            But how's performance of resulting compiled binaries compared to GCC 5/6/7/8 ?

            Comment


            • #26
              Originally posted by dimko View Post

              Gentoo, every app compiled once, then installed and forgotten until update comes out.
              When you do a clean install of Gentoo, this compiler optimization will cut the build time significantly.

              Comment


              • #27
                Originally posted by pal666 View Post
                unless you are using precompiled headers. though subj does it automatically and caches more stuff
                subj?
                pch are a pain and I haven't seen them used anywhere outside Visual Studio. Would need good build system support to be usable, we are going to have C++ modules (which aren't coming with C++2a) before that.

                Comment


                • #28
                  Originally posted by discordian View Post
                  pch are a pain and I haven't seen them used anywhere outside Visual Studio.
                  We used them with GCC > 10 years ago. They were annoying. Much bigger than the .o files, as well (which could mitigate the performance gains, since this was prior to the era of modern SSDs). Tricky to decide exactly what to put in them. You could have only one PCH per source file, and it had to be the first file included.

                  As I said, I'm not currently using them. Back then, we also had just single-core and a couple dual-core machines.
                  Last edited by coder; 18 June 2018, 08:12 PM.

                  Comment


                  • #29
                    Originally posted by caligula View Post

                    When you do a clean install of Gentoo, this compiler optimization will cut the build time significantly.
                    Could be the case, but 'aggressive caching' assumes that there is cache. Also it assumes, that I compile something more than once, which is generally not the case. So I fail to see how it will speed things up.

                    Comment


                    • #30
                      Originally posted by dimko View Post

                      Could be the case, but 'aggressive caching' assumes that there is cache. Also it assumes, that I compile something more than once, which is generally not the case. So I fail to see how it will speed things up.
                      the system headers will be used (way) more than once, and those are cached, not in the sense of a file-cache but as ready to use data-structures after parsing. your sentence would be true for ccache, but this is different.

                      Comment

                      Working...
                      X