-
Notifications
You must be signed in to change notification settings - Fork 156
Category no eta equality #1247
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
Category no eta equality #1247
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