HPC/並列プログラミングポータルでは、HPC(High Performance Computing)プログラミングや並列プログラミングに関する情報を集積・発信しています。

新着トピックス

Windows 7のパフォーマンスは?

 Windows 7はWindows Vistaに比べシステムのチューニングが進み、より快適に動作すると言われている。この恩恵はソフトウェア開発者でも享受することができるのだろうか? 最後にこの疑問を検証するため、インテル コンパイラー 11.1環境でいくつかのベンチマークテストを行ってみた。

 なお、ベンチマークテストに使用した環境は次の表3のとおりである。

表3 ベンチマークテストに使用した環境
構成要素スペック
CPUCore 2 Duo E6550(2.33GHz)
メモリ2GB
HDDSeagate ST3250310AS(250GB)
OSWindows Vista Business、Windows 7 Professional

コンパイル速度の比較

 開発者にとってまず気になるのが、プログラムのコンパイル速度であろう。Windows 7ではOSが軽くなったと言われているが、コンパイル速度の向上などは見られるのだろうか? これを調べるため、インテル コンパイラー11.1環境でソフトウェアをコンパイルする際の時間を測定・比較してみた。

 比較にはオープンソースの画像処理ツール「ImageMagick」を利用し、Windows Vista環境およびWindows 7環境でコンパイルにかかった時間を測定した。なお、ImageMagickのコンパイル方法に関する詳細は「インテル コンパイラーでオープンソースソフトウェアをコンパイルしよう」という記事を参照してほしい。

 さて、測定結果は次の表4のようになった。コンパイル速度に関してはWindows VistaもWindows 7も、ほとんど変わらないようだ。

表4 ImageMagickのコンパイルにかかった時間比較
OS環境コンパイル時間
Windows Vista315秒
Windows 7316秒

作成したプログラムの速度比較

 続いて、作成したプログラムの実行速度がWindows VistaとWindows 7で異なるかどうかを検証してみよう。検証に使用したのは、ファイル圧縮/展開ツール「bzip2」だ。

 ここではbzip2を使用し、Windows 7環境およびWindows Vista環境にて、Firefox 3.5.3のソースアーカイブ(約45MB)を展開するのにかかった時間と、展開したファイルを再度圧縮するのにかかった時間を測定した。なお、測定に使用したバイナリはともにWindows 7環境でコンパイルしたもので、コンパイルオプションには「/Ox /Qip」を指定している。

 測定結果をまとめたものが図25だ。Windows 7とWindows Vistaとでの違いは非常に小さい。この結果を見る限り、Windows 7およびWindows Vistaのどちらも、アプリケーションの実行速度についてはあまり差異はないと思われる。

ディスクアクセスのパフォーマンス

 最後に、ハードディスクI/Oパフォーマンスについて調べてみよう。Windows 7ではディスクI/Oの最適化が進められていると言われている。そこでオープンソースのハードディスクベンチマークツール「CrystalDiskMark 2.2」を使用し、Windows VistaとWindows 7とでI/Oパフォーマンスを比較してみよう(図26)。

 CrystalDiskMarkは、ハードディスクなどの転送速度を調査するためのツールで、シーケンシャルアクセスおよびランダムアクセスについて、読み出し速度および書き込み速度を調べるものだ。今回はテストサイズとしてデフォルトの「100MB」を選択し、同一のPC上で、Windows VistaとWindows 7とでベンチマークテストを行った。テスト結果は次の表5である。

表5 CrystalDiskMark 2.2の実行結果
テスト項目Windows VistaWindows 7
Sequential Read70.1MB/秒72.77MB/秒
Sequential Write70.09MB/秒72.69MB/秒
Random Read 512KB24.57MB/秒25.14MB/秒
Random Write 512KB26.65MB/秒27.06MB/秒
Random Read 4KB0.29MB/秒0.31MB/秒
Random Write 4KB0.85MB/秒0.85MB/秒

 この結果を見ると、確かにWindows 7のほうが若干ではあるものの、ディスクアクセスが高速化されているように見える。そのため、大量のI/Oを行うアプリケーションの場合はWindows 7のほうがパフォーマンスが良くなる、という可能性はありそうだ。

Windows 7でもインテル コンパイラーは問題なく利用可能、新機能も利用できる

 ここまで、Windows 7上でのインテル コンパイラーの導入からWindows 7の新機能の利用、そしてパフォーマンス調査を行ってきたが、いかがだっただろうか。コンパイル速度やアプリケーションの実行速度などについてはあまり差は見られなかったものの、OSの起動時間やアプリケーションの体感起動時間は明らかに短縮されており、Windows 7は確かに快適なOSである。また、インテル コンパイラーをWindows 7上で利用する場合も問題は発生せず、Windows SDK for Windows 7を導入すればWindows 7の最新機能を利用したソフトウェアをインテル コンパイラーで開発することも可能だ。今回紹介したジャンプリストやリボンUIなどを活用したいなら、ぜひ試してみると良いだろう。