I run the CodeServer on my profiler to see what's going on (see attached 
screenshot). Most time is spent in java.io, meaning that we lost time with 
many disk I/O. Then I looked why I got so much I/O (10k listFiles!), and I 
think it's probably caused by .svn directories. For each directory, 
"descentToFindResources" method enters in 9 folders:

Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\prop-base
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\props
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\text-base
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\tmp
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\tmp\prop-base
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\tmp\props
Descending into dir: 
D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\client-tmpsrc\com\exalead\.svn\tmp\text-base

Do we have an easy way to exclude these folders to see if it improves 
things?

Jeremie

Le mardi 21 octobre 2014 11:28:28 UTC+2, Daniel Kurka a écrit :
>
> These times are incredible slow. The worst I have seen was around 700ms 
> for a huge chunk of code. Normally these times are around ~100ms.
>
> Something is seriously wrong. Lets try a couple of things:
>
> 1. Up the ram of SDM to see if this makes any difference.
> 2. Are there any other things running on your system that make it slow 
> (lots of other disk IO, other heavy cpu tasks?)
> 3. How much source code are we talking here (LOC, files)?
>
> -Daniel
>
> On Tue, Oct 21, 2014 at 11:23 AM, Jérémie Gottero <[email protected] 
> <javascript:>> wrote:
>
>> Yes, that was 15sec to detect that nothing has changed. But after some 
>> tries, I actually got better times (~3sec). See logs below, I got 12sec at 
>> first then 3sec. I suspect that my app server load somehow impacts compile 
>> time. Should definitely be a problem on my side.
>>
>> GET /recompile/adminfront
>>    Job com.exalead.mercury.admin.ui.AdminFront_1_0
>>       starting job: com.exalead.mercury.admin.ui.AdminFront_1_0
>>       Compiling module com.exalead.mercury.admin.ui.AdminFront
>>          Ignored 22 units with compilation errors in first pass.
>> Compile with -strict or with -logLevel set to TRACE or DEBUG to see all 
>> errors.
>>          Unification traversed 148143 fields and methods and 10734 types. 
>> 10695 are considered part of the current module and 10695 had all of their 
>> fields and methods traversed.
>>          Compiling 1 permutation
>>             Compiling permutation 0...
>>             Linking per-type JS with 10679 new types.
>>                prelink JS size = 30989214
>>                prelink sourcemap = 30989214 bytes and 708768 lines
>>                postlink JS size = 30934781
>>                postlink sourcemap = 30934781 bytes and 707368 lines
>>             Source Maps Enabled
>>          Compile of permutations succeeded
>>          Compilation succeeded -- 43,734s
>>       Linking into 
>> D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\tmp\com.exalead.mercury.admin.ui.AdminFront\compile-2\war\adminfront;
>>  
>> Writing extras to 
>> D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\tmp\com.exalead.mercury.admin.ui.AdminFront\compile-2\extras\adminfront
>>          Link succeeded
>>          Linking succeeded -- 5,735s
>> *      52,810s total -- Compile completed*
>> GET /recompile/adminfront
>>    Job com.exalead.mercury.admin.ui.AdminFront_1_1
>>       starting job: com.exalead.mercury.admin.ui.AdminFront_1_1
>>       skipped compile because no input files have changed
>> *      12,201s total -- Compile completed*
>> GET /recompile/adminfront
>>    Job com.exalead.mercury.admin.ui.AdminFront_1_2
>>       starting job: com.exalead.mercury.admin.ui.AdminFront_1_2
>>       skipped compile because no input files have changed
>> *      2,807s total -- Compile completed*
>> [...]
>> GET /recompile/adminfront
>>    Job com.exalead.mercury.admin.ui.AdminFront_1_5
>>       starting job: com.exalead.mercury.admin.ui.AdminFront_1_5
>>       Compiling module com.exalead.mercury.admin.ui.AdminFront
>>          Ignored 22 units with compilation errors in first pass.
>> Compile with -strict or with -logLevel set to TRACE or DEBUG to see all 
>> errors.
>>          Unification traversed 585 fields and methods and 460 types. 9 
>> are considered part of the current module and 9 had all of their fields and 
>> methods traversed.
>>          Compiling 1 permutation
>>             Compiling permutation 0...
>>             Linking per-type JS with 9 new types.
>>                prelink JS size = 13769
>>                prelink sourcemap = 13769 bytes and 338 lines
>>                postlink JS size = 30934783
>>                postlink sourcemap = 30934783 bytes and 707368 lines
>>             Source Maps Enabled
>>          Compile of permutations succeeded
>>          Compilation succeeded -- 3,147s
>>       Linking into 
>> D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\tmp\com.exalead.mercury.admin.ui.AdminFront\compile-7\war\adminfront;
>>  
>> Writing extras to 
>> D:\ng\src\jgottero\svn\mercury\mercury-adminui\trunk\tmp\com.exalead.mercury.admin.ui.AdminFront\compile-7\extras\adminfront
>>          Link succeeded
>>          Linking succeeded -- 1,753s
>> *      8,204s total -- Compile completed*
>> GET /recompile/adminfront
>>    Job com.exalead.mercury.admin.ui.AdminFront_1_6
>>       starting job: com.exalead.mercury.admin.ui.AdminFront_1_6
>>       skipped compile because no input files have changed
>> *      2,782s total -- Compile completed*
>>
>> Jeremie
>>
>> Le mardi 21 octobre 2014 10:48:54 UTC+2, Daniel Kurka a écrit :
>>>
>>> Hi Jeremie,
>>>
>>> what do you mean by 15s reload? Does the compiler take 15s to detect 
>>> that you do not have a change? (this would be bad).
>>>
>>> -Daniel
>>>
>>> On Tue, Oct 21, 2014 at 10:44 AM, Jérémie Gottero <[email protected]> 
>>> wrote:
>>>
>>>> It works like a charm, thanks. I still have ~15sec of "compilation" to 
>>>> reload the page even when nothing has changed, but I guess it would be 
>>>> faster with a ssd drive.
>>>>
>>>>
>>>> Le lundi 20 octobre 2014 16:51:19 UTC+2, Daniel Kurka a écrit :
>>>>>
>>>>> With GWT 2.7 you do not need any bookmarklet stuff anymore. You can 
>>>>> just bring it up through the old dev mode integration in eclipse, see:
>>>>>
>>>>> https://www.youtube.com/watch?v=qpCSbj36O44
>>>>>
>>>>> PS: You do not need the -superDevMode anymore its now default.
>>>>>
>>>>> On Mon, Oct 20, 2014 at 3:38 PM, Jérémie Gottero <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Hello,
>>>>>> I have tried GWT 2.7 beta today, and first of all you guys made an 
>>>>>> awesome job to reduce compile time (x4/5 faster on my 500k LoC project).
>>>>>> There is however a CodeServer behavior that I don't understand: why 
>>>>>> the precompile flag is always turned off in incremental mode?
>>>>>>
>>>>>>     if (incremental && !noPrecompile) {
>>>>>>       System.out.println("Turning off precompile in incremental 
>>>>>> mode.");
>>>>>>       noPrecompile = true;
>>>>>>     }
>>>>>>
>>>>>> In my dev env, I never use the DevMode On/Off bookmarklets: I always 
>>>>>> load js files from the CodeServer url, and I wrote a small GWT utility 
>>>>>> class to display a "recompile" button which is embedded in my app UI (it 
>>>>>> does the same thing as the bookmarklet, ie calling 
>>>>>> codeserverurl/recompile). It's easier to use for others devs: no need to 
>>>>>> explain them the bookmarklet stuff, they just have to launch the 
>>>>>> CodeServer. With 2.7 I can't use this trick anymore: I need the 
>>>>>> bookmarklet 
>>>>>> to do a first compilation to be able to load my app. Is there a reason 
>>>>>> to 
>>>>>> prevent precompilation in incremental mode?
>>>>>>
>>>>>> Regards,
>>>>>> Jeremie
>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "GWT Contributors" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to google-web-toolkit-contributors+unsubscribe@
>>>>>> googlegroups.com.
>>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>>> msgid/google-web-toolkit-contributors/46bc27ce-d8a3-40ad-9629-
>>>>>> b2c6d3bfe961%40googlegroups.com 
>>>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/46bc27ce-d8a3-40ad-9629-b2c6d3bfe961%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Google Germany GmbH
>>>>> *Dienerstr. 12*
>>>>> *80331 München*
>>>>>
>>>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>>> Sitz der Gesellschaft: Hamburg
>>>>> Geschäftsführer: Graham Law, Katherine Stephens
>>>>>  
>>>>  -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "GWT Contributors" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to google-web-toolkit-contributors+unsubscribe@
>>>> googlegroups.com.
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/google-web-toolkit-contributors/de430b92-1afd-
>>>> 4843-8b24-83b33ae3179c%40googlegroups.com 
>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/de430b92-1afd-4843-8b24-83b33ae3179c%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Google Germany GmbH
>>> *Dienerstr. 12*
>>> *80331 München*
>>>
>>> Registergericht und -nummer: Hamburg, HRB 86891
>>> Sitz der Gesellschaft: Hamburg
>>> Geschäftsführer: Graham Law, Katherine Stephens
>>>  
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/f8c3e8c7-70f6-45b9-a475-5484a55aaa9b%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/f8c3e8c7-70f6-45b9-a475-5484a55aaa9b%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Google Germany GmbH
> *Dienerstr. 12*
> *80331 München*
>
> Registergericht und -nummer: Hamburg, HRB 86891
> Sitz der Gesellschaft: Hamburg
> Geschäftsführer: Graham Law, Katherine Stephens
>  

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/419195b9-e13c-4b99-bd4d-5563ace2882b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to