effekt-lang / effekt

A research language with effect handlers and lightweight effect polymorphism

Home Page:https://effekt-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.