結論: Scala 3.0.0はScala 2.13.5の半分以下(4割)の時間でコンパイル終わる!!! (scalazでのベンチマーク)
半年前のDotty 0.27の時点でやった方法とだいたい同じ方法で計測し直した結果です。
- scalazの最新のjvmのmain側を使用
- (ほんの少しversionごとに違うコードはあるが、せいぜい数%程度しかないはず?)
- https://github.com/scalaz/scalaz/tree/4321237a782155926f9c3e91e7ca44454bba80ef
- clean update compileをひたすら繰り返したときのcompileの
[success]
の表示部分を集計 - 40回繰り返し実行して、JVMの温まりを考慮して、最初の10回を除いた30回を集計
2.13.5
- (最初の10回除いた)30回分の平均: 65.9秒
- (最初の10回除いた)30回分の中央値: 65秒
3.0.0
- (最初の10回除いた)30回分の平均: 26.0秒
- (最初の10回除いた)30回分の中央値: 26秒