データベースとビルド時間

2004年1月15日

最近、興味深い対照関係を目にした。2つのエンタープライズアプリケーションプロジェクトで、規模は似かよっていて(約10万KLOC)、環境も似ている(Javaと.NET)。一方では、完全なビルドとテストが1時間で完了し、もう一方では2〜3分かかった。

では、何が違うのか?これまでの分析では、データベースアクセスが特定された。どちらのプロジェクトも大規模なテストスイートを持ち、長時間のビルド時間のほとんどはテストで占められている。特にデータベースにアクセスするテストがそのうちの約50%を占めている。

ビルド時間が短いプロジェクトでは、アプリケーションをデータベースから隔離するオブジェクトリレーショナルマッピングレイヤー(neo)を使用している。データベースにアクセスするのはneo用のテストだけで、ほとんどのテストはすべてメモリ内なのではるかに高速だ。