Skip to content

sbt 1.10.6: Performance regression of update tasks #7945

Closed
@xerial

Description

steps

In sbt 1.10.5:

$ gh repo clone wvlet/wvlet
$ cd wvlet
# Edit project/build.properties to use sbt 1.10.5
$ ./sbt 
sbt:wvlet> runner/update
[success] Total time: 1 s, completed Dec 13, 2024, 11:08:53 AM

In sbt 1.10.6:

# Edit project/build.properties to use sbt 1.10.6
sbt:wvlet> runner/update
[success] Total time: 59 s, completed Dec 13, 2024, 11:12:14 AM
-- The second run still takes longer time than sbt 1.10.5
sbt:wvlet> runner/update
[success] Total time: 6 s, completed Dec 13, 2024, 11:13:36 AM

problem

Resolving some of the Java dependencies (Trino -> Apache Hadoop related dependencies?) in this build.sbt takes quite a long time. It was 1 second in sbt 1.10.5, but sbt 1.10.6 requires almost 1 minute:
https://github.com/wvlet/wvlet/blob/2987497fbc906149bb77c2a77d600b7f6270e2e9/build.sbt#L338-L355

Even after the first update run, there is still significant overhead.

expectation

As sbt update tasks always happen before recompilation, this step needs to be faster, at least after the first cold run.

notes

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions