Entries from 2009-02-12 to 1 day

1つ壁を越えたら

そこには Ypsilon の壁が。単純な named let loop が異常に速い。 (1 0 . loop) (=n.iloc (0 . 0) 10000000) (if.true.ret.const) (push.n+.iloc (0 . 0) 1) (apply.gloc.of loop.1)) push.n+.iloc が1つになっているのが効いていそうだ。命令数の差っぽいな…

パフォーマンスチューニング仕切り直し

前提 (let loop ([i 0]) (if (= i 10000000) '() (loop (+ i 1)))) このコードでは Mosh (530 msec)> Gauche (660 msec)。 ところがこのループに浮動小数の加算を入れると逆転。 (let loop ([i 0]) (if (= i 10000000) '() (begin (+ i 1.0) (loop (+ i 1)))…