wow, the difference is crazy. If you can provide the dependency tree that
would be nice.

I was looking at the code for the PreDex task and realize we don't
parallelize the pre-dexing when there are more than one library which I
thought we did. I think dx is making use of all the cores but I'm not sure
how much it would help for this case.


On Wed, Jan 8, 2014 at 1:27 AM, Jake Wharton <jakewhar...@gmail.com> wrote:

> All of these benchmarks are done with nothing in gradle.properties.
>
> With pre-dexing off, ./gradlew clean assemble --profile --offline:
>
> :one:one-app    1m13.07s
>   :one:one-app:dexDogfood    17.612s
>   :one:one-app:dexRelease    17.261s
>   :one:one-app:dexDebug      15.849s
>
> :two:two-v1    1m1.84s
>   :two:two-v1:dexDogfood    15.553s
>   :two:two-v1:dexDebug      15.066s
>   :two:two-v1:dexRelease    14.183s
>
> :three:three-app    36.907s
>   :three:three-app:dexDebug      9.278s
>   :three:three-app:dexDogfood    8.848s
>   :three:three-app:dexRelease    8.654s
>
> With pre-dexing on, ./gradlew clean assemble --profile --offline:
>
> :one:one-app    3m14.97s
>   :one:one-app:preDexDebug      58.122s
>   :one:one-app:preDexRelease    51.320s
>   :one:one-app:preDexDogfood    50.261s
>   :one:one-app:dexDebug         5.591s
>   :one:one-app:dexDogfood       4.257s
>   :one:one-app:dexRelease       4.037s
>
> :two:two-v1    2m29.22s
>   :two:two-v1:preDexDogfood    36.434s
>   :two:two-v1:preDexDebug      36.408s
>   :two:two-v1:preDexRelease    35.988s
>   :two:two-v1:dexDogfood       14.891s
>   :two:two-v1:dexDebug         4.893s
>   :two:two-v1:dexRelease       4.003s
>
> :three:three-app    2m14.54s
>   :three:three-app:preDexRelease    44.191s
>   :three:three-app:preDexDebug      35.970s
>   :three:three-app:preDexDogfood    33.390s
>   :three:three-app:dexDebug         3.956s
>   :three:three-app:dexRelease       3.575s
>   :three:three-app:dexDogfood       3.451s
>
> $ java -version
> java version "1.8.0-ea"
> Java(TM) SE Runtime Environment (build 1.8.0-ea-b116)
> Java HotSpot(TM) 64-Bit Server VM (build 25.0-b58, mixed mode)
>
> $ ./gradlew --version
>
> ------------------------------------------------------------
> Gradle 1.9
> ------------------------------------------------------------
>
> Build time:   2013-11-19 08:20:02 UTC
> Build number: none
> Revision:     7970ec3503b4f5767ee1c1c69f8b4186c4763e3d
>
> Groovy:       1.8.6
> Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
> Ivy:          2.2.0
> JVM:          1.8.0-ea (Oracle Corporation 25.0-b58)
> OS:           Mac OS X 10.8.5 x86_64
>
> Let me know if there's anything else I can provide (e.g., dependency tree?)
>
>
>
> ---
> Jake Wharton
> http://about.me/jakewharton
>
>
> On Tue, Jan 7, 2014 at 9:39 PM, Xavier Ducrohet <x...@android.com> wrote:
>
>> BTW I'm interested in the time it takes to do predex + dex vs dex only
>> (no pre-dexing) for clean builds
>>
>> It's worth it in incremental builds, but I'm suprised clean builds are so
>> much longer. I'd like to send some stats to the VM team (who owns dx)
>>
>> thanks.
>>
>>
>>
>> On Tue, Jan 7, 2014 at 11:36 PM, Xavier Ducrohet <x...@android.com> wrote:
>>
>>> android {
>>>   dexOptions {
>>>     preDexLibraries = false
>>>   }
>>> }
>>>
>>>
>>> On Tue, Jan 7, 2014 at 3:13 PM, Jake Wharton <jakewhar...@gmail.com>wrote:
>>>
>>>> Well it's definitely pre-dexing. Can this be easily disabled for CI
>>>> builds?
>>>>
>>>> :app1:app1-app 3m14.13s
>>>>   :app1:app1-app:preDexDebug 1m5.23s
>>>>   :app1:app1-app:preDexDogfood 51.836s
>>>>   :app1:app1-app:preDexRelease 41.499s
>>>>
>>>> 81% of time spent pre-dexing
>>>>
>>>>
>>>> :app2:app2-v1 2m25.18s
>>>>   :app2:app2-v1:preDexRelease 39.274s
>>>>   :app2:app2-v1:preDexDogfood 38.637s
>>>>   :app2:app2-v1:preDexDebug 36.630s
>>>>
>>>> 78% of time spent pre-dexing
>>>>
>>>>
>>>> :app3:app3-app 2m18.30s
>>>>   :app3:app3-app:preDexRelease 45.504s
>>>>   :app3:app3-app:preDexDebug 36.681s
>>>>   :app3:app3-app:preDexDogfood 34.769s
>>>>
>>>> 84% of time spent pre-dexing
>>>>
>>>>
>>>> ---
>>>> Jake Wharton
>>>> http://about.me/jakewharton
>>>>
>>>>
>>>> On Mon, Jan 6, 2014 at 10:37 PM, Jake Wharton <jakewhar...@gmail.com>wrote:
>>>>
>>>>> They were clean builds, yes. I'll dig deeper tomorrow. It was the end
>>>>> of the work day for me when we started the comparisons.
>>>>>
>>>>>
>>>>> ---
>>>>> Jake Wharton
>>>>> http://about.me/jakewharton
>>>>>
>>>>>
>>>>> On Mon, Jan 6, 2014 at 6:07 PM, Xavier Ducrohet <x...@android.com>wrote:
>>>>>
>>>>>> incremental dexing has been disabled. There are some issues with it.
>>>>>> We have implemented pre-dexing though, but I'm not sure how the 
>>>>>> performance
>>>>>> is impacted.
>>>>>>
>>>>>> Are those time for clean builds? (which should not be impacted by the
>>>>>> removal of the incremental dex).
>>>>>>
>>>>>>
>>>>>> On Mon, Jan 6, 2014 at 4:50 PM, Jake Wharton 
>>>>>> <jakewhar...@gmail.com>wrote:
>>>>>>
>>>>>>> I forgot to ask a question... Is anyone else seeing anything like
>>>>>>> this?
>>>>>>>
>>>>>>> I see this on small pet projects too. I can perceive tasks taking
>>>>>>> 10x longer than when on 0.6.x. Usually those towards the latter end of 
>>>>>>> the
>>>>>>> processing (preDex, dex, assemble).
>>>>>>>
>>>>>>> Still digging for more info to pinpoint what is happening.
>>>>>>>
>>>>>>>
>>>>>>> ---
>>>>>>> Jake Wharton
>>>>>>> http://about.me/jakewharton
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jan 6, 2014 at 4:44 PM, Jake Wharton 
>>>>>>> <jakewhar...@gmail.com>wrote:
>>>>>>>
>>>>>>>> Our project builds have experienced a serious regression in terms
>>>>>>>> of performance upon upgrading to 0.7.x.
>>>>>>>>
>>>>>>>> Without --parallel:
>>>>>>>>
>>>>>>>>    - 0.6.x: 4m 21s
>>>>>>>>    - 0.7.x: 9m 04s
>>>>>>>>
>>>>>>>> With --parallel:
>>>>>>>>
>>>>>>>>    - 0.6.x: 3m 36s
>>>>>>>>    - 0.7.x: 6m 58s
>>>>>>>>
>>>>>>>> This project has 3 apps (each with three build types, no flavors),
>>>>>>>> 4 library modules, and 3 java modules.
>>>>>>>>
>>>>>>>> ---
>>>>>>>> Jake Wharton
>>>>>>>> http://about.me/jakewharton
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "adt-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to adt-dev+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Xavier Ducrohet
>>>>>> Android SDK Tech Lead
>>>>>> Google Inc.
>>>>>> http://developer.android.com | http://tools.android.com
>>>>>>
>>>>>> Please do not send me questions directly. Thanks!
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "adt-dev" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to adt-dev+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "adt-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to adt-dev+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>
>>>
>>> --
>>> Xavier Ducrohet
>>> Android SDK Tech Lead
>>> Google Inc.
>>> http://developer.android.com | http://tools.android.com
>>>
>>> Please do not send me questions directly. Thanks!
>>>
>>
>>
>>
>> --
>> Xavier Ducrohet
>> Android SDK Tech Lead
>> Google Inc.
>> http://developer.android.com | http://tools.android.com
>>
>> Please do not send me questions directly. Thanks!
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to adt-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "adt-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to adt-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Xavier Ducrohet
Android SDK Tech Lead
Google Inc.
http://developer.android.com | http://tools.android.com

Please do not send me questions directly. Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adt-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to