Skip to content

product list: reduce instances visited#46

Merged
grg merged 2 commits intoStanfordVLSI:masterfrom
grg:gleng/perf_8
Mar 12, 2026
Merged

product list: reduce instances visited#46
grg merged 2 commits intoStanfordVLSI:masterfrom
grg:gleng/perf_8

Conversation

@grg
Copy link
Collaborator

@grg grg commented Mar 12, 2026

Reduce the number of instances visited when traversing the instance tree and building the instance list. This is done by halting traversal down a branch when we encounter an instance with a filename we've previously encountered. Need to have separate tracking for synth and verif file names as Manager::create_product_lists wants to know if a module is in both the verify and synth lists. (Although this could potentially be simplified too.)

In a test design, the number of nodes visited dropped from over 500K to 12K. Runtime dropped from 29.5s -> 27.1s (avg over 5 runs each).

Reduce the number of instances visited when traversing the instance tree
and building the instance list. This is done by halting traversal down a
branch when we encounter an instance with a filename we've previously
encountered. Need to have separate tracking for synth and verif file
names as Manager::create_product_lists wants to know if a module is in
both the verify and synth lists. (Although this could potentially be
simplified too.)

In a test design, the number of nodes visited dropped from over 500K to
12K. Runtime dropped from 29.5s -> 27.1s (avg over 5 runs each).
@grg grg requested a review from steveri March 12, 2026 02:28
Copy link
Contributor

@steveri steveri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Knuth would be proud.

@grg grg merged commit b753ef5 into StanfordVLSI:master Mar 12, 2026
5 checks passed
@grg grg deleted the gleng/perf_8 branch March 12, 2026 20:09
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