Closed
Description
Looking at the time to take to test a simple package (https://github.com/KristofferC/LazilyInitializedFields.jl/actions/runs/8072420307/job/22079073318?pr=30) I see an over 2x regression end to end.
Some numbers:
# nightly
18 dependencies successfully precompiled in 54 seconds. 31 already precompiled.
# 1.10
18 dependencies successfully precompiled in 21 seconds. 3 already precompiled.
#nightly
Doctests: LazilyInitializedFields | 1 1 25.3s
# 1.10
Doctests: LazilyInitializedFields | 1 1 10.2s
It is possible this is mostly the same as #52592 which was closed, first without a comment and then with
There seemed to be nothing here to solve after looking into it
but a 2x regression end to end for a very standard simple package seems like something that should be solved
Metadata
Metadata
Assignees
Labels
Type
Projects
Relationships
Development
No branches or pull requests
Activity
KristofferC commentedon Feb 28, 2024
Adding a
@time
to the doctest shows that there is quite a lot of invalidations going on so maybe something with moving out stdlibs.KristofferC commentedon Apr 16, 2024
I think a big reason for the slowdown in the end to end testing is that it seems that precompiled code is turned off for stdlibs when running with code coverage now?
IanButterworth commentedon Apr 16, 2024
Yeah.
user
is generally too crude as that includes stdlibs. Better to do it by path.But even with the path approach, as soon as a package is loaded within that path, any further loads don't use pkgimage native code either. The fix is to load your test package last in the test suite.
IanButterworth commentedon Apr 16, 2024
Perhaps Aqua should check that the test package is loaded last
KristofferC commentedon Apr 16, 2024
I added some data in KristofferC/LazilyInitializedFields.jl#38. The last commit (loads the testing package last but it doesn't seem to have much effect.
IanButterworth commentedon Apr 16, 2024
Regarding the coverage-on regression the likely relevant PRs are #53439 #53457 @vchuravy @vtjnash
KristofferC commentedon Apr 23, 2024
I'm going to fold this one into #53570