Announcement

Collapse
No announcement yet.

Zapcc 1.0 Compiler Announced

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

  • #11
    Originally posted by tssva View Post

    They did not [make it closed source]. They used the LLVM code as allowed ...
    In other words, they did.

    Comment


    • #12
      Originally posted by tssva View Post
      They did not. They used the LLVM code as allowed under the 3 clause BSD style license the LLVM project purposely selected. The open source status of any LLVM project code did not change.
      If they don't release their stuff, it's de-facto closed source.

      Comment


      • #13
        Originally posted by caligula View Post
        Having such an in-memory compiler state doesn't necessarily use more memory at all. The problem is, if you recompile, what to do with the obsolete AST and object code generated with outdated files not available anymore on disk. It needs some sort of garbage collection for that.
        This is where ccache comes in. AFAIK, neither clang nor gcc make any effort to store this past info. If you have a lot of spare RAM, there's nothing stopping you from setting your ccache's cache location to a RAM disk.

        Code:
        $ export CCACHE_DIR=/ramdisk/ccache
        $ ccache --max-size 8G
        Last edited by slacka; 06 March 2017, 10:38 PM.

        Comment


        • #14
          Originally posted by tssva View Post
          They did not. They used the LLVM code as allowed under the 3 clause BSD style license the LLVM project purposely selected.
          and this license allows to make it closed source. which they did
          Originally posted by tssva View Post
          The open source status of any LLVM project code did not change.
          i was talking only about code which is part of zapcc. obvously other code is not affected

          Comment


          • #15
            Originally posted by caligula View Post
            C/C++ have a crappy grammar for fast parsing and no real module system, which results in extra work dealing with headers.
            yes, but in practice it does not matter. majority of time is spent on (link time)optimization, not on parsing
            Last edited by pal666; 07 March 2017, 01:02 PM.

            Comment


            • #16
              Originally posted by slacka View Post
              This is where ccache comes in.
              no, ccache comes in only when you compile same file again, which is not very smart to begin with. it is useful when building rpms in mock, since they are rebuilt from scratch and often have little changes between versions. it has no use during development, because you shouldn't build same file twice, fix your build system.

              Comment


              • #17
                What happened with the 64 bit compiler which Phoronix wrote an article about years ago? It was a closed source compiler that was made open source and PTS benchmarks showed improvements for several tested software. I forgot the name and can't find it anywhere

                Comment


                • #18
                  Originally posted by caligula View Post

                  C/C++ have a crappy grammar for fast parsing ...
                  LL(1) grammars rule OK!

                  If you can’t write a recursive descent parser for it, it’s too complicated.

                  Comment


                  • #19
                    Originally posted by ldo17 View Post

                    LL(1) grammars rule OK!

                    If you can’t write a recursive descent parser for it, it’s too complicated.
                    c++ compilers are using recursive descent parsers

                    Comment


                    • #20
                      Originally posted by pal666 View Post
                      c++ compilers are using recursive descent parsers
                      Ya think that's bad?

                      Parsing C++ is literally undecidable

                      Comment

                      Working...
                      X