Skip to content

Experiment: Test https://github.com/rocq-prover/rocq/pull/21208#1

Closed
Janno wants to merge 2 commits into
skylabs-masterfrom
janno/test-glob-cache
Closed

Experiment: Test https://github.com/rocq-prover/rocq/pull/21208#1
Janno wants to merge 2 commits into
skylabs-masterfrom
janno/test-glob-cache

Conversation

@Janno
Copy link
Copy Markdown

@Janno Janno commented Nov 3, 2025

Fixes / closes #????

  • Added / updated test-suite.
  • Added changelog.
  • Added / updated documentation.
    • Documented any new / changed user messages.
    • Updated documented syntax by running make doc_gram_rsts.
  • Opened overlay pull requests.

All users were synchronized, except that the main entry point was forgetting
to end the dumping, since it would exit prematurely. Furthermore, we clean
up along the way the internal states of the Dumpglob module. I am not sure
this code was really designed this way, it looks like its dire state is
the result of organic modification, but this resulted in very dubious
bits of code.
Due to the way Ltac runtime is implemented, if a constant is
evaluated during a tactic call, it will generate a glob output.
In particular, if it is evaluated several times, the glob file will
contain the same line repeated again and again, leading to
potentially huge glob files.

For all consumers, this repetition is useless because they will
just overwrite the same data again and again. Said otherwise, clients
are idempotent w.r.t. repeated declarations. We leverage this
property by simply caching whether a specific reference has already
been registered in the glob file and ignoring it otherwise.
@Janno
Copy link
Copy Markdown
Author

Janno commented Nov 4, 2025

Very slight slowdown but apparently no significant change in artifact sizes.

Relative Master MR Change Filename
+0.00% 116596.0 116596.0 +0.0 total
+1.07% 22019.8 22256.0 +236.1 ├ translation units
+0.12% 94576.2 94693.4 +117.2 └ proofs and tests

@Janno Janno closed this Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants