<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Peter,<div><br class="webkit-block-placeholder"></div><div>Developing an AST-centric caching mechanism is very interesting.</div><div><br class="webkit-block-placeholder"></div><div>Last time I looked at distcc, it basically preprocessed the file locally and sends the result to distributed nodes. The benefit of this approach is it's very simple (no dependencies on headers, macros, etc.).</div><div><br class="webkit-block-placeholder"></div><div>That said, caching AST's will require more "smarts" than distcc (in many ways). Knowing if an AST can actually be reused across module boundaries is a little tricky (given the flexibility of the preprocessor and mutable headers). I co-authored NeXT's first pre-compiled headers scheme which actually implemented sharing/checking.</div><div><br class="webkit-block-placeholder"></div><div>Another point...I think the notion of caching AST's locally (on a single machine) is also interesting (and possibly more useful than traditional pre-compiled header schemes, where the developer needs to fiddle with defining a huge header to make the compiler fast). </div><div><br class="webkit-block-placeholder"></div><div>snaroff</div><div><br class="webkit-block-placeholder"></div><div><br><div><div>On Apr 7, 2008, at 11:07 AM, Peter Neumark wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi,<br>As far as I know, distcc doesn't support binary AST caching and distribution. <br>And the proposal is about complete reimpementation in C++ with static linked llvm/clang libs.<br>The main benefit is in handling (storing, caching) AST-s in binary form. And also to have a central process, which<br> tracks the node network load and coordinates incoming tasks according it.<br><br><div class="gmail_quote">On Mon, Apr 7, 2008 at 7:47 PM, Eric Christopher <<a href="mailto:echristo@apple.com">echristo@apple.com</a>> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Peter,<br> <br> I've taken a look at this proposal. Can you say how this is different than either a) modifying dcc_find_compiler to use clang as an option or b) saying distcc clang for compilation?<br> <br> Otherwise it looks like a simple change to distcc and not clang at all. Unless you were planning on reimplementing distcc for clang?<br><font color="#888888"> <br> -eric<br> <br> </font></blockquote></div><br> _______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev<br></blockquote></div><br></div></body></html>