Skip to content

Conversation

@reed-nicolas
Copy link

@reed-nicolas reed-nicolas commented Nov 7, 2025

Brief description:
Add per-step timing to build-setup.sh and print a summary table at the end of the script. The change records start and end times at existing step boundaries and emits a single table with seconds, percent of total, and cumulative time. It does not change step sequencing, exit behavior, or CI pass and fail logic. Output appears at the end of local runs and in CI logs.

Example output:

Per-step timing
Step #   Wall Time (s)   % of Total Time    Cumulative Time (s)  Description
--------------------------------------------------------------------------------------------------------
1        448             62                 448                  Conda environment setup
2        6               1                  454                  Initializing Chipyard submodules
3        70              10                 524                  Building toolchain collateral
4        34              5                  558                  Running ctags for code navigation
5        55              8                  613                  Pre-compiling Chipyard Scala sources
6        52              7                  665                  Setting up FireSim
7        25              3                  690                  Pre-compiling Firesim Scala sources
8        2               0                  692                  Setting up FireMarshal
9        2               0                  694                  Pre-compiling FireMarshal buildroot sources
10       24              3                  718                  Installing CIRCT
11       0               0                  718                  Cleaning up repository
Total    718   

Related PRs / Issues:
None

Type of change:

  • Bug fix
  • New feature
  • Other enhancement

Impact:

  • RTL change
  • Software change (RISC-V software)
  • Build system change
  • Other

Contributor Checklist:

  • Did you set main as the base branch?
  • Is this PR's title suitable for inclusion in the changelog and have you added a changelog:<topic> label?
  • Did you state the type-of-change/impact?
  • Did you delete any extraneous prints/debugging code?
  • Did you mark the PR with a changelog: label?
  • (If applicable) Did you update the conda .conda-lock.yml file if you updated the conda requirements file?
  • (If applicable) Did you add documentation for the feature?
  • (If applicable) Did you add a test demonstrating the PR?
  • (If applicable) Did you mark the PR as Please Backport?

CI Help:
No special CI labels are required for this change.

@reed-nicolas reed-nicolas marked this pull request as ready for review November 7, 2025 06:10
@jerryz123
Copy link
Contributor

Yeah typically I just init-submodules with a pre-set-up environment. Nice to see that is the fastest part.

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