Correct. You really only want to disable it when you *only* do clean builds.


On Wed, Jan 29, 2014 at 11:31 AM, Benjamin Cooley <[email protected]>wrote:

> The perf hit is the first time that pre-dex is run correct?
>
> (So it only makes sense to disable this when a clean builds are run in
> sequence, like a CI server, disabling it on the first build after a clean
> would just move the time out to the second build?)
>
>
> On Tuesday, January 28, 2014 9:56:21 PM UTC-8, Xavier Ducrohet wrote:
>
>> pre-dexing is useful when you recompile after a code change in your
>> project only. All your dependencies are pre-dexed and only need to be
>> merged in when your project's code is dexed.
>>
>> So yes there is a performance hit on the first build as pre-dexing is
>> slower than just running dex on the whole code, but incremental changes
>> should compile faster.
>>
>> When a library code changes only that library is redexed and then
>> remerged in the final dex.
>>
>> I would recommend that for cases where you only do full build (on a CI
>> server for instance), you disable pre-dexing through an env var to get the
>> best performance and keep pre-dexing on when doing dev work.
>>
>>
>> On Tue, Jan 28, 2014 at 7:02 PM, Benjamin Cooley <[email protected]>wrote:
>>
>>> Xavier, what is the value of predexing? is it for the incremental dex's?
>>> (I ask because we still see a performance degradation with predexing on vs
>>> off)
>>>
>>>
>>> On Thursday, January 23, 2014 2:22:03 PM UTC-8, Xavier Ducrohet wrote:
>>>
>>>> Requires:
>>>> Gradle 1.10
>>>> Studio 0.4.3
>>>> Build Tools 19.0.0+
>>>>
>>>> New features and fixes:
>>>> - Fixed issue 64302: Add renderscript support mode jar to the
>>>> dependencies in the IDE model.
>>>> - Fixed issue 64094: buildConfigField can now replace previous values
>>>> inside the same type/flavors.
>>>> - Add support for NDK prebuilts in library projects.
>>>> - Parallelize pre-dexing to speed up clean builds.
>>>> - Incremental dexing re-enabled (though it'll be automatically disabled
>>>> in some builds for some cases that dx doesn't support yet.)
>>>> - Added 'provided' dependency scope for compile only (not packaged)
>>>> dependencies.
>>>>   Additional scope per buildtype and flavors are also available
>>>> (debugProvided, myFlavorProvided,etc...)
>>>> - Lint improvements:
>>>>    * New "lintVital" task, run automatically as part of assembling
>>>> release variants, which checks only fatal-severity issues
>>>>    * Replace Java parser in lint with ECJ; must faster and fixes bug
>>>> where lint could hang on certain source constructs
>>>>    * Lint HTML report now writes links to source files and images as
>>>> URLs relative to the report location
>>>> - Variant API improvements:
>>>>    * getPreBuild() returns the prebuild task for the variant
>>>>    * getSourceSets() returns the sorted sourcesets for the task, from
>>>> lower to higher priority
>>>>    * createZipAlignTask(String taskName, File inputFile, File
>>>> outputFile)
>>>>      This creates and return a new zipalign task. Useful if you have a
>>>> custom plugin providing custom signing of APKs.
>>>>      This also makes the assemble task depend on the new zipalign task,
>>>> and wires variant.getOutputFile() to return the result of the zipalign 
>>>> task.
>>>>    * project.android.registerJavaArtifact() now receives a
>>>> Configuration object to pass the dependencies to the IDE. See artifactApi
>>>> sample.
>>>>
>>>>
>>>> --
>>>> 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 [email protected].
>>>
>>> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to