Skip to content

Conversation

@JamesWrigley
Copy link
Member

In an effort to bring down the TTFX/runtime. On ZMQ.jl this brings the time for Aqua.test_all(ZMQ) down from ~8.7s to ~6.1s, so about 30%. The downside is that the precompilation time increased from ~1.4s to ~11s, which is quite a hit. My feeling is that it's still worth it though since Aqua has relatively few dependencies and is unlikely to get invalidated frequently. I'd recommend reviewing each commit separately.

@JamesWrigley JamesWrigley self-assigned this Dec 12, 2025
deps = PkgId[PkgId(UUID(v), k) for (k, v) in get(prj, "deps", Dict{String,Any}())]
weakdeps =
PkgId[PkgId(UUID(v), k) for (k, v) in get(prj, "weakdeps", Dict{String,Any}())]
deps::Vector{PkgId} = PkgId[PkgId(UUID(v), k) for (k::String, v::String) in get(prj, "deps", Dict())]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
deps::Vector{PkgId} = PkgId[PkgId(UUID(v), k) for (k::String, v::String) in get(prj, "deps", Dict())]
deps::Vector{PkgId} =
PkgId[PkgId(UUID(v), k) for (k::String, v::String) in get(prj, "deps", Dict())]

name = "Aqua"
uuid = "4c88cf16-eb10-579e-8560-4a9242c79595"
authors = ["Takafumi Arakaki <[email protected]> and contributors"]
version = "1.0.0-DEV"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaProjectFormatter] reported by reviewdog 🐶

Suggested change
version = "1.0.0-DEV"

authors = ["Takafumi Arakaki <[email protected]> and contributors"]
version = "1.0.0-DEV"
authors = ["Takafumi Arakaki <[email protected]> and contributors"]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaProjectFormatter] reported by reviewdog 🐶

Suggested change
version = "1.0.0-DEV"

@JamesWrigley
Copy link
Member Author

I fixed some of the formatting issues, but I felt the other suggestions make the code less readable 🤷

Comment on lines +31 to +42
write(project_file, """
name = "AquaFakePackage"
uuid = "5a23b2e7-8c45-4b1c-9d3f-7a6b4c8d9e0f"
version = "0.1.0"
[deps]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[compat]
Test = "1"
julia = "1"
""")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
write(project_file, """
name = "AquaFakePackage"
uuid = "5a23b2e7-8c45-4b1c-9d3f-7a6b4c8d9e0f"
version = "0.1.0"
[deps]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[compat]
Test = "1"
julia = "1"
""")
write(
project_file,
"""
name = "AquaFakePackage"
uuid = "5a23b2e7-8c45-4b1c-9d3f-7a6b4c8d9e0f"
version = "0.1.0"
[deps]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[compat]
Test = "1"
julia = "1"
""",
)

In particular to `find_stale_deps()`, which took about 600ms to compile.
project_extras = false,
stale_deps = false,
deps_compat = false,
persistent_tasks = false)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[JuliaFormatter] reported by reviewdog 🐶

Suggested change
persistent_tasks = false)
persistent_tasks = false,
)

@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

❌ Patch coverage is 96.15385% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 87.07%. Comparing base (62eda50) to head (e08666e).

Files with missing lines Patch % Lines
src/precompile.jl 93.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #359      +/-   ##
==========================================
+ Coverage   86.77%   87.07%   +0.30%     
==========================================
  Files          11       12       +1     
  Lines         514      534      +20     
==========================================
+ Hits          446      465      +19     
- Misses         68       69       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment on lines +3 to +7
# Create a minimal fake package to test
module _FakePackage
export fake_function
fake_function() = 1
end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not putting this inside the @setup_workload instead of saving a useless module in the compile cache?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants