Closed hyrodium closed 7 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
89232ef
) 100.00% compared to head (eab2f56
) 100.00%. Report is 6 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Hmm, not sure why the Invalidation test failed..
https://github.com/JuliaGeometry/Quaternions.jl/actions/runs/6814371318/job/18531083622?pr=136
@ranocha Do you know why the Invalidation check failed?
The invalidation failure was because the number of uinvalidated(invalidations)
has increased.
Before this PR
julia> using SnoopCompile, SnoopCompileCore
julia> invalidations = @snoopr begin using Quaternions end;
julia> uinvalidated(invalidations)
Set{Core.MethodInstance} with 1 element:
MethodInstance for promote_rule(::Type, ::Type)
julia> inv_owned = length(filtermod(Quaternions, invalidation_trees(invalidations)))
0
After this PR
julia> using SnoopCompile, SnoopCompileCore
julia> invalidations = @snoopr begin using Quaternions end;
julia> uinvalidated(invalidations)
Set{Core.MethodInstance} with 2 elements:
MethodInstance for hash(::Any, ::UInt64)
MethodInstance for promote_rule(::Type, ::Type)
julia> inv_owned = length(filtermod(Quaternions, invalidation_trees(invalidations)))
0
But it seems this is not problematic because inv_owned
is zero.
(The above code are from https://github.com/julia-actions/julia-invalidations/blob/main/action.yml.)
Based on your results above, it looks like there are some new invalidations caused by the new specialization. You don't invalidate your own functions but something that's using hash
and is badly inferred. This may impact the latency when loading Quaternions.jl.
Of course, this doesn't mean that you cannot go ahead with this PR. It would be a nice contribution to the ecosystem to check where the invalidations are coming from and trying to fix them 🙂
I see. Thank you for the detailed explanation!
I'll merge this PR in a few days if there are no objections.
This PR fixes #135.
Before this PR
After this PR