Measure the time the compiler takes for each phase
phischu opened this issue · comments
The compiler is slower than it could be. As a first step we should measure how much time it takes for each phase in order to direct our optimization effort towards the slowest one.
It might be nice to integrate some sort of regression testing into the Github CI where we compare the compilation time of a select list of benchmark programs (comparing all tests would mean ~ double CI time) using the master
branch and the respective PR branch. This way, we would have an easy way to detect performance regressions right at the PR drafting stage, rather than when it is already merged.
I am fairly certain that I have already seen this in other repositories. I will investigate further, if this is deemed worthwhile. For now, I am implementing a basic tracing architecture in the compiler akin to the one found in flix
. I am looking forward to hearing your opinions.