Conversation
|
Did you try adding |
|
The comment I made is out of date. This PR is actually ready to merge. I had meant to do some performance numbers before we merge. Rebuilding the entire library from scratch the difference was negligible (~0.9% improvement) but I was able to remove one |
|
Ok, did you notice any speedup for your library? I can't help but wonder if this change is necessary if the speedup is negligible. Having C^op^op = C definitionally is definitely nice to have, but the prize to pay for removing it doesn't seem so big either. |
|
We haven't fully ported our library yet but we have been able to remove some uses of --lossy-unification. The negligible performance difference is across the entire cubical With no-eta-equality (i.e., this PR):
Without eta-equality (i.e., the starting point for this PR) :
So there's about a 14s improvement, i.e. a ~10.7% improvement on total There's some confounding factors of course. I removed a --lossy-unification in |
|
Ok, that's more convincing! Thanks a lot. If we can notice a 10% speedup already for the very moderate amount of CT that we have in the library now I would expect this to make even more of a difference if that part of the library grows. So I'll merge this now. Maybe this is good evidence that it's worth going through the pain of doing the same change for the algebraic structures @felixwellen ... |
Implementing #1240 . Haven't been able to test locally because checking
Cubical.Categories.Instances.CommAlgebrasseems to hang