A tough benchmark that maybe @yihozhang can tackle or others!
I’ve attached two files from my new PR: #850. One is math-micro-term.egg and one is math-micro-proof.egg, math-microbenchmark with the term encoding vs full proof encoding. math-micro-term.egg is very quick for the rules the user wrote, comparable to normal egglog:
Ruleset : search 0.537s, merge 0.318s, rebuild 0.644s
On the other hand, adding proof lookups makes math-micro-proof.egg very slow for user rules:
Ruleset : search 30.739s, merge 1.004s, rebuild 3.386s
math-micro-proofs.txt
math-micro-terms.txt
You can ignore the timing for the rebuilding and unionfind rulesets for now, the main challenge is the user rules. Would be interested if you give an analysis of how we might speed up those though (I do have some ideas).
A tough benchmark that maybe @yihozhang can tackle or others!
I’ve attached two files from my new PR: #850. One is math-micro-term.egg and one is math-micro-proof.egg, math-microbenchmark with the term encoding vs full proof encoding.
math-micro-term.eggis very quick for the rules the user wrote, comparable to normal egglog:On the other hand, adding proof lookups makes math-micro-proof.egg very slow for user rules:
math-micro-proofs.txt
math-micro-terms.txt
You can ignore the timing for the rebuilding and unionfind rulesets for now, the main challenge is the user rules. Would be interested if you give an analysis of how we might speed up those though (I do have some ideas).