mandelbrotが好きなのでいろいろな言語で書いてみる。
厳密に画面サイズを640x480にしておかないと全くベンチマークとしては役に立たない。
activebasicとC#でもやっている。
結果は0.3秒と2.6秒で8倍以上の開きがある。
tkで書いたrubyもやってみたが76秒と結構遅い。
c#とrubyは複素数のライブラリーがあるので飽和計算のところが定義通りで綺麗でシンプル。
VSが遅いことを除けばC#は素晴らしい。
言語もわかりやすいしLazarusと言うかfreepascalほどの過剰な厳密さもないので
型の変換も文字列代入のときなど結構よしなにしてくれる。
activebasicはエディタの助けとか期待できないのでけっこうめんどくさい。
もはやエディタや総合環境の助けなしにはコーディングもかったるい。
ちなみに最初の結果を並べたときに印象が違うのでカラーのインデクスを間違えたかと思ったがどうも緑色の表現が違うみたいでカラーを色で呼ぶときにRGB=(0,255,0)はC#やLazarusではgreenではなくてLimeであった。
過去の記憶ではインタープリタとしてはめっちゃ速かった記憶があるjavascriptと環境(グラフィックアクセラレータの有無)でかなり実効速度が変わるjavaをサイズや色を合わせて再度記述したら当面はOKとする。
(もう古いBASICなどで書いてみても面白がる人もいないので・・・時間の無駄)
0 件のコメント:
コメントを投稿