Fall back to direct subtype comparison at the end in dropIfSuper and dropIfSub#20523
Fall back to direct subtype comparison at the end in dropIfSuper and dropIfSub#20523noti0na1 merged 2 commits intoscala:mainfrom
Conversation
|
test performance please |
|
performance test scheduled: 1 job(s) in queue, 0 running. |
|
Performance test finished successfully: Visit https://dotty-bench.epfl.ch/20523/ to see the changes. Benchmarks is based on merging with main (dea3d10) |
odersky
left a comment
There was a problem hiding this comment.
The code changes look reasonable, but we should check they don't introduce a performance regression elsewhere. Have a look at the discussion #20034. Can you run the test cases mentioned there and check whether they become significantly slower?
@odersky I compared the compiling time of |
odersky
left a comment
There was a problem hiding this comment.
OK, looks all good then.
Improve compiling in #20516.
We need to be careful to check branches of AndTypes and OrTypes in correct order, see discussion in issue #20516.
Fall back to direct subtype comparison at the end in dropIfSuper and dropIfSub.
We may need to improve subtype checking for large intersections further to be able to fully test the example.
Currently,
tests/pos-deep-subtype/i20516.scalacompiles in 5s with this PR, and in 40s on the main branch.