SDM incremental compiles and generators

289 views
Skip to first unread message

Gal Dolber

unread,
Oct 14, 2014, 8:54:04 AM10/14/14
to google-we...@googlegroups.com
I noticed that SDM incremental compiles are always running gwt generators. I'm using gin and all my controllers have a reference to the gin injector. After the SDM gets to the injector it goes on to regenerate all my presenters and most dependencies. 
My minimal refresh time right now is 13s, When the actual changes seem to take less than a second to refresh (when I make them on a class that don't reference the gin injector).
I made my generators incremental, but this didn't make an improvement. 

Is there anything I can to avoid this?

Juan Pablo Gardella

unread,
Oct 14, 2014, 2:55:26 PM10/14/14
to google-we...@googlegroups.com
It seems Gin kills the productivity during development, but giving to us cleaner code. Maybe both advantages are not possible right now.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Jens

unread,
Oct 14, 2014, 3:11:43 PM10/14/14
to google-we...@googlegroups.com, g...@dolber.com
As a developer probably not. There are commits in GWT to improve recompile times when generators run that produce lots of output, e.g. https://gwt.googlesource.com/gwt/+/11b1cdcf38cacbccfb64e55bcd3a949b61528436

In our app we don't have references to the Ginjector except for onModuleLoad(). Recompiles vary from 3-15 seconds depending on the changes we make.

Maybe Google's Dagger fork performs better with GWT 2.7 SDM, but Dagger 2.0 hasn't been released yet.

-- J.

Gal Dolber

unread,
Oct 14, 2014, 3:23:34 PM10/14/14
to Jens, google-we...@googlegroups.com
That looks promising!

Gal Dolber

unread,
Oct 14, 2014, 3:31:57 PM10/14/14
to Jens, google-we...@googlegroups.com
Oh, its an old change

Guus Bloemsma

unread,
Oct 15, 2014, 10:05:31 AM10/15/14
to google-we...@googlegroups.com, g...@dolber.com
Why do you need the injector? I'm not trying to be a smartass, just curious.

cheers, Guus


Gal Dolber

unread,
Oct 15, 2014, 10:14:49 AM10/15/14
to Guus Bloemsma, google-we...@googlegroups.com
I kept digging on this issue. I was wrong before, its not that the presenters reference the injector, the problem is that on every recompile gwt add the entry point and trace all the reachable classes on the project. My entry point has the reference to the injector and my injector has a reference to most presenters on the project.
I've been trying to hack on this to avoid recompiling all the generated classes, but I can't get it to work. Any insight from the team is welcome. 

Thomas Broyer

unread,
Oct 16, 2014, 11:25:44 AM10/16/14
to google-we...@googlegroups.com, gu...@bloemsma.net, g...@dolber.com


On Wednesday, October 15, 2014 4:14:49 PM UTC+2, Gal Dolber wrote:
I kept digging on this issue. I was wrong before, its not that the presenters reference the injector, the problem is that on every recompile gwt add the entry point and trace all the reachable classes on the project. My entry point has the reference to the injector and my injector has a reference to most presenters on the project.
I've been trying to hack on this to avoid recompiling all the generated classes, but I can't get it to work. Any insight from the team is welcome. 

Assuming you're using a 2.7.0-SNAPSHOT, you'd have better luck on the GWT-contrib group.

salk31

unread,
Oct 17, 2014, 4:55:20 AM10/17/14
to google-we...@googlegroups.com, g...@dolber.com
Same here, we started using GIN but must be being thick because we can't see the benefit.

Justin M. Keyes

unread,
Feb 2, 2015, 6:48:58 PM2/2/15
to google-we...@googlegroups.com
At the GWT.create conference two weeks ago, John Stalcup mentioned
that GIN had a possibly-unreleased change that would work better with
the incremental compiler. The GIN repository[1] does not appear to
have any recent changes related to this.

Can anyone confirm whether these GIN changes are available, or when
they will be? We have a large project that makes heavy use of GIN;
after moving to GWT 2.7, initial impressions of the incremental
compilation are not quite as we had hoped. (The best observed time is
~30s after making a trivial change, we were hoping for ~10s.)

[1] https://code.google.com/p/google-gin/source/list
Justin M. Keyes


On Fri, Oct 17, 2014 at 4:55 AM, salk31 <sal...@gmail.com> wrote:
> Same here, we started using GIN but must be being thick because we can't see
> the benefit.
>

Justin M. Keyes

unread,
Feb 2, 2015, 6:48:58 PM2/2/15
to google-we...@googlegroups.com
On Mon, Feb 2, 2015 at 12:46 PM, Justin M. Keyes <just...@gmail.com> wrote:
> At the GWT.create conference two weeks ago, John Stalcup mentioned
> that GIN had a possibly-unreleased change that would work better with
> the incremental compiler. The GIN repository[1] does not appear to
> have any recent changes related to this.
>
> Can anyone confirm whether these GIN changes are available, or when
> they will be? We have a large project that makes heavy use of GIN;
> after moving to GWT 2.7, initial impressions of the incremental
> compilation are not quite as we had hoped. (The best observed time is
> ~30s after making a trivial change, we were hoping for ~10s.)

(Project size is ~7k files)

Justin M. Keyes
Reply all
Reply to author
Forward
0 new messages