Skip to content

feat: consolidated .all-raw-deps file for per-module filtering#14273

Draft
robinbb wants to merge 1 commit intoocaml:robinbb-issue-4572-combined-testsfrom
robinbb:robinbb-issue-4572-all-raw-deps
Draft

feat: consolidated .all-raw-deps file for per-module filtering#14273
robinbb wants to merge 1 commit intoocaml:robinbb-issue-4572-combined-testsfrom
robinbb:robinbb-issue-4572-all-raw-deps

Conversation

@robinbb
Copy link
Copy Markdown
Collaborator

@robinbb robinbb commented Apr 20, 2026

Summary

Produce a .all-raw-deps file per module in the ocamldep pipeline that
contains the union of raw module names from the module and all its
transitive intra-library deps. This replaces reading N individual .d
files during per-module library filtering with a single file read,
reducing null-build overhead.

Depends on #14116.

Test plan

  • per-module-lib-deps tests pass
  • hidden-deps-supported tests pass
  • root-module tests pass
  • CI
  • Benchmark null build comparison

@robinbb
Copy link
Copy Markdown
Collaborator Author

robinbb commented Apr 20, 2026

This seems to have reduced the null build time to 5.9 seconds.

@robinbb robinbb force-pushed the robinbb-issue-4572-all-raw-deps branch 2 times, most recently from 057219b to 1cc67cc Compare April 20, 2026 22:47
Produce a .all-raw-deps file per module in the ocamldep pipeline that
contains the union of raw module names (preserving external library
references) from the module and all its transitive intra-library deps.
This replaces reading N individual .d files during per-module library
filtering with a single file read, reducing null-build overhead.

The .all-raw-deps file is produced as a separate rule from .all-deps
(not combined via Progn) to avoid interfering with cycle detection.
It depends on the resolved .all-deps file and chains transitive
.all-raw-deps files. Empty files are produced for external virtual
library modules that don't have locally-produced dep files.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
@robinbb robinbb force-pushed the robinbb-issue-4572-all-raw-deps branch from 1cc67cc to 4f87a35 Compare April 20, 2026 23:53
@robinbb
Copy link
Copy Markdown
Collaborator Author

robinbb commented Apr 21, 2026

Null build is 6.1 seconds, now.

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.

1 participant