ソース:
(define (tarai x y z) (if (<= x y) y (tarai (tarai (- x 1) y z) (tarai (- y 1) z x) (tarai (- z 1) x y)))) (display (tarai 12 6 0))Cygwinのtimeコマンドで一応ほかの処理系とも比較してみた。
(この段階で速度的に勝てるとは思わん!!)
結果:
自分の
→ 2.62s user 0.00s system 100% cpu 2.607 total
Gauche
→ 0.01s user 0.00s system 1% cpu 0.814 total
Ypsilon
→ 0.01s user 0.00s system 1% cpu 0.755 total
mosh
→ 0.80s user 0.03s system 101% cpu 0.812 total
見方が間違ってなければこの段階で3倍程度遅いか。ダイレクトスレッドコードとか、インストラクションのマージとかまだやれそうなことが山ほどあるので、とりあえずは気にしない。
先にバイトベクターを実装しようか、コアにかかわる部分をこなしてしまおうか。
ちと考えないと。
No comments:
Post a Comment