You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# from https://sciml.ai/news/2022/09/21/compile_time/using SnoopCompile
invalidations =@snooprbeginusing AbstractAlgebra
R, (x,y) =polynomial_ring(QQ, ["x","y"], ordering=:degrevlex)
using Groebner
groebner([x^2- y^2, x*y^2+ x])
end
trees = SnoopCompile.invalidation_trees(invalidations);
@showlength(SnoopCompile.uinvalidated(invalidations)) # show total invalidations (1102)show(trees[end-1])
show(trees[end-2])
(Groebner.jl loads MultivariatePolynomials.jl).
I have
inserting ==(α, q::MultivariatePolynomials.RationalPoly) @ MultivariatePolynomials C:\Users\User\.julia\packages\MultivariatePolynomials\TpRhf\src\comparison.jl:118 invalidated:
backedges:1: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Core.MethodInstance, ::Any) (6 children)
2: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Module, ::Any) (11 children)
3: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Method, ::Any) (33 children)
4: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Symbol, ::Any) (154 children)
5: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Core.TypeName, ::Any) (164 children)
6: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Symbol, ::Any) (1 children)
7: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Symbol, ::Any) (4 children)
inserting ==(p::MultivariatePolynomials.AbstractPolynomialLike, α) @ MultivariatePolynomials C:\Users\User\.julia\packages\MultivariatePolynomials\TpRhf\src\operators.jl:65 invalidated:
backedges:1: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Cthulhu.DInfo.DebugInfo) (6 children)
2: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Core.MethodInstance) (8 children)
3: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Symbol) (420 children)
4: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::typeof(display)) (2 children)
5: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Symbol) (1 children)
6: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Symbol) (1 children)
7: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::typeof(display)) (1 children)
8: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::typeof(display)) (11 children)
9: superseding ==(x, y) @ Base Base.jl:165 with MethodInstance for==(::Any, ::Symbol) (2 children)
This amounts to 825 method invalidations out of 1102.
I wonder if it would be okay to rewrite these methods with the use of isa (or even remove them) ?
The text was updated successfully, but these errors were encountered:
To check this, I run
(Groebner.jl loads MultivariatePolynomials.jl).
I have
This amounts to 825 method invalidations out of 1102.
I wonder if it would be okay to rewrite these methods with the use of
isa
(or even remove them) ?The text was updated successfully, but these errors were encountered: