compiletime というプロジェクトで、テストライブラリの選択や Scala の機能がコンパイル速度にどのように影響を与えるか計測した話。著者は ScalaTest の作者なので何かしらバイアスがかかっているのかもしれないが、(specs2 が遅いという)結果には体感的に納得感がある。 JUnit、TestNG、ScalaTest、specs2 が対象。 コンパイルが速い順番に JUnit、TestNG、ScalaTest で、specs2 はとても遅い。 コンパイル時間は以下に影響を受ける: スコープ中の implicit の数 by-name パラメータの数 テストクラスのメソッドが trait によって提供されるか、親クラスから継承されるか implicit に関しては、スコープに import された implicit の数とスコープ中の implicit の使用の数の積に依
![Scala の機能がコンパイル速度に与える影響 - tl;dr](https://cdn-ak-scissors.b.st-hatena.com/image/square/0e5ced27119928bea1c21a73b6d92618c21c44d8/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F415CsfYp64L.jpg)