-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Intersect: try normal+reverse+existential subtyping during intersection #57476
Conversation
fix JuliaLang#57429 JuliaLang#41561 Typevars are all existential (in the sense of variable lb/ub) during intersection. This fix is somehow costly as we have to perform 3 times check to prove a false result. But a single existential <: seems too dangerous as it cause many circular env in the past.
would it make sense to include an example snippet benchmarking this cost? even if it is a regression it could be tracked for later improvement |
I tried some packages, e.g. julia> @time using DifferentialEquations
10.825558 seconds (19.42 M allocations: 1.040 GiB, 9.68% gc time, 6.35% compilation time) # before
10.814457 seconds (19.40 M allocations: 1005.084 MiB, 6.78% gc time, 4.93% compilation time) # after The influence seems negligible here, but not sure if it's representative. |
@nanosoldier |
@nanosoldier |
The package evaluation job you requested has completed - possible new issues were detected. Report summary❗ Packages that crashed2 packages crashed only on the current version.
7 packages crashed on the previous version too. ✖ Packages that failed20 packages failed only on the current version.
1160 packages failed on the previous version too. ✔ Packages that passed tests22 packages passed tests only on the current version.
5368 packages passed tests on the previous version too. ~ Packages that at least loaded11 packages successfully loaded only on the current version.
2831 packages successfully loaded on the previous version too. ➖ Packages that were skipped altogether1 packages were skipped only on the current version.
909 packages were skipped on the previous version too. |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. |
Looks like there was about an equal number of slow packages that got even slower as slow packages that got a little faster. The only one that seemed maybe interesting to look into more is |
@nanosoldier |
Failed to reproduce regression of Miter locally. |
The package evaluation job you requested has completed - no new issues were detected. Report summary✖ Packages that failed3 packages failed on the previous version too. ✔ Packages that passed tests10 packages passed tests on the previous version too. ~ Packages that at least loaded9 packages successfully loaded on the previous version too. |
…on (#57476) Typevars are all existential (in the sense of variable lb/ub) during intersection. This fix is somehow costly as we have to perform 3 times check to prove a false result. But a single existential <: seems too dangerous as it cause many circular env in the past. fix #57429 fix #41561 (cherry picked from commit beb928b)
…on (#57476) Typevars are all existential (in the sense of variable lb/ub) during intersection. This fix is somehow costly as we have to perform 3 times check to prove a false result. But a single existential <: seems too dangerous as it cause many circular env in the past. fix #57429 fix #41561 (cherry picked from commit beb928b)
Typevars are all existential (in the sense of variable lb/ub) during intersection. This fix is somehow costly as we have to perform 3 times check to prove a false result. But a single existential <: seems too dangerous as it cause many circular env in the past.
fix #57429
fix #41561