Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-22 Thread Stephen Haberman
Hi John, Thanks for the great responses. do you still have to retranslate the *entire* AST to Javascript source (and is the resulting process still fast if you have to do so)? Yeah, good question...seems like in an ideal world you could cache the JS string for each compilation unit and then

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread James Nelson
re: Heiko Braun it means having an optional compilation path that does not recompile the entire world (as the current monolithic compile path does) and instead tries to recompile just files (or or modules) that have changed. it is exploratory work for me right now as there are very many

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread Stephen Haberman
Hey John, it means having an optional compilation path that does not recompile the entire world (as the current monolithic compile path does) and instead tries to recompile just files (or or modules) that have changed. Spiffy! Out of curiosity, would the API look something like:

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John A. Tamplin
On Wed, Aug 21, 2013 at 11:34 AM, Stephen Haberman step...@exigencecorp.com wrote: AFAIK, historically most of the optimizations around incremental compiles have always required going back to building ResourceOracle, TypeOracle from scratch, but speeding it up with caching. The problem is

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread Stephen Haberman
Hi John, Thanks for reminding me about this... The problem is let's say you change file A. Two things: First is that AFAIK GWT already does this...see the Dependencies class, which I became familiar with when trying to build a list of dependencies for Scala-GWT ASTs so they could fit in this

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John Stalcup
GWTAR files are okay, but are an incomplete solution to the problem of incremental compilation. During a normal monolithic GWT compile: - ~50% of the time is spent loading Java source off disk, compiling it with JDT, translating the JDT Java AST to a GWT Java AST (1 AST per type), and

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread James Nelson
So as a result, in the best possible world the maximum impact it can have on compile time, is ~50%. In practice it has a little less than that because reading and deserializing these GWT Java ASTs from disk takes some (smaller) amount of time and because in large modular projects there's

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John Stalcup
I agree that the fastest executing approach is the approach that does the least amount of computation. And so yes, your suggestion to keep a warm version of the AST loaded in memory, and update that AST on the fly with just new AST's of changed classes is a fast design. But there are some

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John Stalcup
I guess i forgot to address your question about what the API would look like. At this moment it looks like this: !. Invoke GWT compiler on Module A 2. Invoke GWT compiler on Module B 3. Invoke GWT compiler on Module C, passing it .gwtlibs from Module's A and B When compiling Module A I'm not

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John Stalcup
@Johannes Barop Your approach is interesting since it allows you to avoid cache the results of generator execution and not have to reparse and recompile generated code during every monolithic compile. But since it's all based on GWTAR, you're still limited to a maximum possible impact of 50%.

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread John Stalcup
Agreed. The TypeOracle (actually there are many TypeOracles) indexes, AST references, JProgram indexes, after optimization, etc etc, are extensive and complex. Updating them in place when swapping out the AST for a particular Type would be very tricky and failure prone. On Wed, Aug 21, 2013 at

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-21 Thread James Nelson
I may need to revisit some of that responsibility though, since the current GWT Eclipse plugin owns/manages the GWT compile triggering process. I'm toying with the idea of implementing this iterative compilation triggering responsibility in Maven and (since GWT shouldn't try to act like

Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-19 Thread John Stalcup
re: Heiko Braun it means having an optional compilation path that does not recompile the entire world (as the current monolithic compile path does) and instead tries to recompile just files (or or modules) that have changed. it is exploratory work for me right now as there are very many issues

[gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-10 Thread Heiko Braun
Regarding hello world app running using separate compilation: can you elaborate on that? Do you mean support for two distinct compilation units within the same page? Regards,Heiko -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are

[gwt-contrib] Google team meeting notes for August 7 (and earlier)

2013-08-08 Thread Brian Slesinsky
I haven't been sending out emails for our meetings. Let's catch up: August 7th: - John got a hello world app running using separate compilation. We talked a bit about how it might get pulled back into GWT. - Brian: Firefox architecture changes may break the Development Mode plugin by the end of