hashc
hashc copied to clipboard
Collect more fine grained timings from analysis
The analysis
phase of the compiler has several distinguished parts and phases which run. In the recent spirit of improving performance across the compiler, it would be beneficial to collect timings on what the analysis phase is doing during its runtime. More specifically, we probably want to collect metrics on:
- various AST passes, and how long they take
- inference
- normalisation
- ~~exhaustiveness~~
The semantic analysis phase can report these metrics through the standard CompilerStage
API.