metacoq
metacoq copied to clipboard
faster PCUICSR
Replaced slow firstorder
calls by appropriate constructor
, left
, right
calls.
This improves performance from
5m49.68s | 2644580 ko | PCUICSR.vo
to
0m49.37s | 1443968 ko | PCUICSR.vo
,
also improving overall project compilation speed.
I'm amazed that it's only two occurrences that take up that long!
FTR I have had firstorder on my radar for a while. It's very inefficient because it strongly normalizes all terms from the context. (It's a bit sad that these instances will disappear for benching purposes, btw.)
Would that be reason enough to keep them though? Could we keep them as a special CI that only runs for benchmarks?
It does not seem reasonable to me to not fix it so that the firstorder issue stays in the CI. @ppedrot It should be easy to make a specific test-case for that no?
Thanks @mrhaandi !
Note that coq/coq#19126 has probably made this PR much less usefull in practice.