Skip to content

perf: parallelize module-graph parsing#384

Merged
ivov merged 2 commits into
mainfrom
module-graph-perf
May 11, 2026
Merged

perf: parallelize module-graph parsing#384
ivov merged 2 commits into
mainfrom
module-graph-perf

Conversation

@ivov
Copy link
Copy Markdown
Owner

@ivov ivov commented May 11, 2026

Parallelizes the parsing of every module's .lis files, draining one BFS-level at a time from a queue. Also stops registering each parsed file in the store twice.

lis build cold:

Modules Before After Delta
1 56 ms 55 ms -1%
10 89 ms 84 ms -5%
30 159 ms 140 ms -12%
100 507 ms 456 ms -10%

lis build warm:

Modules Before After Delta
1 48 ms 48 ms 0%
10 62 ms 50 ms -20%
30 115 ms 83 ms -28%
100 255 ms 209 ms -18%

n modules ~660 LOC each, LISETTE_NO_CACHE=1, hyperfine with --warmup 5 --runs 25, M1 MBP

@ivov ivov merged commit 89d0b74 into main May 11, 2026
11 checks passed
@ivov ivov mentioned this pull request May 11, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Released in lisette-v0.2.3

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