aboutsummaryrefslogtreecommitdiff
path: root/kernel/vmbytecodes.mli
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2021-03-06 22:54:16 +0100
committerPierre-Marie Pédrot2021-03-12 13:37:37 +0100
commit93ea9206cbf29617feb23646f95e794b11e87793 (patch)
tree91308132147f00535892a7321dc22cfadb8cc9cd /kernel/vmbytecodes.mli
parentd33266649d285b7d8ba5a7093319faa6132d6bc9 (diff)
Algorithmically faster algorithm for term replacing.
Instead of recomputing the n-th lifts of terms for every subterm under a context, we introduce a table storing the value of this lift across contexts. While not the most efficient algorithmically, it is still much more efficient in practice and does not exhibit the exponential behaviour of replacing under different subcontexts. In an ideal world we would have an equality function on terms that allows to compute equality up to lifts, which would prevent having to even compute the lift at all, but the current fix has the advantage to be self-contained and not require dangerous tweaking of an equality function which is already complex enough as it is. Fixes #13896: cbn very slow.
Diffstat (limited to 'kernel/vmbytecodes.mli')
0 files changed, 0 insertions, 0 deletions