NetWalkerの処理速度

以前、Rubyでライフゲームを作ったので、これを実行してNetWalkerの処理速度をみてみる事にした。その前に使用するRubyのバージョンを合わせる必要があるため、1.9.1の現時点での最新版(1.9.1-p243)のソースをダウンロードして、最初に部屋にあるマシンでビルドしてみた(NetWalkerでもセルフビルドが可能)。手順は以下のとおり。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.bz2
$ tar jxf ruby-1.9.1-p243.tar.bz2
$ cd ruby-1.9.1-p243/
$ time ( ./configure --prefix=$HOME/ruby/1.9.1-p243 ; make ; make install )

結果は以下のとおり。

条件 real user sys real性能比(NetWalkerを1とする)
(1)MacBook 2.4GHz Leopard RAM4GB 301.9 240.0 48.2 10.57
(2)PC Core2Duo 2.66GHz Ubuntu 9.04 RAM3GB 257.2 237.6 13.6 12.41
(3)NetWalker 3190.7 2636.0 118.8 1

性能比以外の単位はいずれも秒。

これを見るとNetWalkerの処理速度は2.4GHzクラスのマシンの10分の1程度。コンパイルなどCPU時間が多くなりがちな仕事をさせると遅さが目立ってしまうようだ。

次に、ライフゲームを実行してみた。上記でビルドしたrubyを使うようにPATHを通し、500世代状態を更新した後に所要時間を表示させた。セル数はいずれの条件でも横80x縦30。ターミナルソフトは付属のもので、フォント関連の指定はデフォルトのままとした。結果は以下のとおり。

条件 fps 性能比
(1) 42.2 10.0
(2) 68.9 16.4
(3) 4.2 1

やはり10分の1以下となった。ちょっと残念。

そもそもNetWalkerは速いか遅いで語られる製品ではない。ただ、マシン本体のスピードに頼ることをさせようとするとかなり辛いことが多いかもしれない。