Intersect: try normal+reverse+existential subtyping during intersection#57476
Intersect: try normal+reverse+existential subtyping during intersection#57476N5N3 merged 1 commit intoJuliaLang:masterfrom
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) # afterThe 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)
…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)
…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)
…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