Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VerilatorBackend now cache improvement #1272

Merged
merged 3 commits into from
Jan 12, 2024
Merged

VerilatorBackend now cache improvement #1272

merged 3 commits into from
Jan 12, 2024

Conversation

Dolu1990
Copy link
Member

@Dolu1990 Dolu1990 commented Jan 8, 2024

VerilatorBackend now cache the whole shared object instead of .a + headers the avoiding linking

On the VexiiRiscv CPU simulation (no SoC) i got the following "Verilator compilation done in" :

  • Uncached : ~2.7s
  • Cached : ~1.8s
  • Cached + this PR : ~0.4s

@Dolu1990
Copy link
Member Author

Dolu1990 commented Jan 9, 2024

@dlmiles :D

@dlmiles
Copy link
Contributor

dlmiles commented Jan 10, 2024

good to see improvements

maybe the next thing is to cause a change (forcing at least one item to need to be recompiled) and note how many things are actually compiled, this might be an 'single file change incremental compile and link test' (maybe adding / removing /*verilator public */ across builds is such a scenario.)
also make a configuration change (that affects at least one verilator command line option) and confirm this causes a full rebuild, this might be a 'full recompile and link test' (maybe changing the -Dverilog_define=1 across builds is such a scenario)

also ensure ccache is not being used :D (I think other peoples perceptions of the matter are mitigated by their use of ccache, I have never used ccache and worked on the source of the problem)

@Dolu1990
Copy link
Member Author

Thanks, i will try ^^

@Dolu1990 Dolu1990 merged commit 65f91b9 into dev Jan 12, 2024
11 checks passed
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.

None yet

2 participants