-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding a convert(::Type{T}, ...) where {T} is a source of a large number of invalidations #144
Comments
An attempt to address this: #143 |
Thanks, hadn't seen that one. |
I've been making some PRs to Julia to use more specific function calls which avoids triggering invalidations in base when using Intervals.jl. These changes won't address invalidations that occur with including other packages but fixing the Base invalidations should still help. So far I've managed to address the |
I wonder if this shouldn't actually be an overload of Do we actually use this method anywhere in practice? |
This would be good to fix before Julia 1.8 is released, since JuliaLang/julia#43671 will add a |
The method definition here:
Intervals.jl/src/anchoredinterval.jl
Lines 179 to 197 in c37cbb7
is quite bad for latency because it invalidates the
convert(::Type{Any}, x)
method in Base which a large number of methods are inferred to use. This is a similar issue to JuliaData/CategoricalArrays.jl#177. The invalidations can be seen via:These two are also pretty bad:
Intervals.jl/src/endpoint.jl
Lines 148 to 149 in c37cbb7
The text was updated successfully, but these errors were encountered: