[Merged by Bors] - fix: don't resynthesize type class arguments in fun_prop#15842
[Merged by Bors] - fix: don't resynthesize type class arguments in fun_prop#15842
fun_prop#15842Conversation
PR summary 08cc6a21bfImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
fun_prop should not resynthesize type class argumentsfun_prop
|
!bench |
|
Here are the benchmark results for commit 34538ab. Benchmark Metric Change
============================================================================
- ~Mathlib.Analysis.FunctionalSpaces.SobolevInequality instructions 16.8% |
|
I don't understand at all why this would make anything slower. I will note that the places using |
|
I also find it baffling. My wild guess is that type classes are cached anyway so resynthesizing them is not such a big deal. However, you might end up with instances that are defeq but not trivially so type checking takes longer. But I do not know what the "instructions" metric is. |
|
Instructions are the best proxy we have for "amount of computation done independent of hardware" |
|
Do we want to merge this? Is the 16% increase on that one file a blocker? Should that be investigated? |
|
I'm not entirely sure about this. It does speed things up a bit in the continuous functional calculus portion of the library, where we use maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by j-loreaux. |
|
Overall instructions are basically flat. So from that perspective this is fine. I think the slowdown you see is exactly as @lecopivo surmised (and as core would probably chastise us for). But if this works where it needs to right now, I think it is ok to run with and evaluate as we go. bors merge |
|
Build failed (retrying...): |
|
Build failed (retrying...): |
|
Build failed: |
|
bors r+ |
|
Build failed (retrying...): |
|
bors r- |
|
✌️ lecopivo can now approve this pull request. To approve and merge a pull request, simply reply with |
|
Canceled. |
|
bors r+ |
|
Pull request successfully merged into master. Build succeeded: |
fun_propfun_prop
fun_propwas resynthesizing type class arguments the same way assimpused to do. It seems to cause just troubles and seemingly no benefit so let's remove it fromfun_proptoo.