Skip to content

Significant Build Time Increase with Anvil 2.5.1 #1109

Open
@Munzey

Description

@Munzey

We have identified a significant increase in build times when upgrading from Anvil 2.5.0 to 2.5.1. Our daily Gradle profiler benchmark run using an abi change scenario running our :app:assembleDebug task shows a 20% increase in build times.

Details:

Project Type: Android app
Kotlin Version: 1.9
Java Version: 17
Anvil Extension Settings:
trackSourceFiles: Enabled/Disabled (no effect)
generateDaggerFactories: true

Scenario:

We apply an ABI change to a base module class that affects multiple downstream modules (e.g., architecture -> feature-core -> feature).
The build is run in an isolated way with all dependencies downloaded, offline mode, no build cache, and no configuration cache.
We run several warm-ups and 10 builds.
Results:

Anvil 2.5.0: Average build time: 26 seconds
Anvil 2.5.1: Average build time: 32 seconds

Additional Observations:

Investigating build scans, all KotlinCompile tasks seem to be marginally slower with Anvil 2.5.1.
With all caching enabled, the same scenario on my local machine resulted in:

Anvil 2.5.0: 18 seconds
Anvil 2.5.1: 27 seconds

We would appreciate any insights or guidance on why this performance regression might be occurring and any potential solutions or workarounds. Hopefully I provided useful information - just wanted to be clear that this benchmark is for a large app (HubSpot) with a non-trivial dependency tree. Thank you for your assistance.

p.s. Hey @JoelWilcox ! its me Tristan 😄

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions