ZMandel3
2001年12月4日改訂
2001年1月18日公開

Let's Download!...  ZMandel3 (Vectorのダウンロードサイトへ)


 フラクタル図形の一種であるマンデルブロ集合の描画プログラムです。
 マンデルブロ集合は、その美しさと、単純な繰り返し計算のプログラムで描画できることもあって、パソコンの黎明期から様々なプログラムが書かれてきました。
 このプログラムではパレットファイルを別に持つことによって、マンデルブロ集合に様々な着色を施すことができます。

 また、マンデルブロ集合といえば計算時間がかかることでも有名ですが、本プログラムではそれを逆手にとって、浮動小数点数値演算ベンチマークとしても使えるようになっています。
 繰り返し計算のループ部分は、いにしえのN88-BASICで書いたものをVB向きにアレンジして使っています。当時は80286の時代で、計算に半日以上かかりましたが、現在のP6コアのCPU(PentiumII,III,Celeron)やAthron,Duronなら数秒で計算できるはずです。
本当にパソコンは速くなったものです。

バージョン3では、主に以下の点を強化しました。
・マウスによる範囲指定
・BMP形式での画像保存
・ベンチマーク専用メニューの追加と計測精度の向上
 FLOPS値の他に、Athron/1GHzのPC(Gateway2000/Select1000)との性能比が表示されるようになりました。
 また、前バージョンではWindows95と98で3割ぐらい結果に違いが出てしまいましたが、
 計測ルーチンの見直しで、差が数%以内に収まるようになりました。

 VB6プログラム上での数値演算なので、MMXやSSE、3DNow!等の性能は全く反映されませんし、シングルスレッド動作なのでマルチCPUの効果も出ません。反映するのは単純なFPU命令の性能だけです。
AMD K6やVIA Cyrix3にはかなり不利なベンチマークです。

 最近のPentiumIIIやAthronではかなりの値(200MFLOPS以上)が出ますが、Pentium4では80MFLOPS程度の性能しか出ません。たぶん繰り返しループ内でif文を使用しているので、それがコンパイル後の機械語コードにも反映されていて、長大なパイプラインを持つPentium4には不利に働いているものと推察されます。
 次バージョンではループ処理の最適化を行って、Pentium4でも性能が出せるようにしたいと考えています。

以前のバージョン(ZMandel2)の説明文



「公開フリーソフトウェア」に戻る
トップページに戻る