2009年3月19日木曜日

JIT

InfernoはJITに対応しているそうです。
just in timeコンパイル。
中間コードを解釈しながら実行するのではなく、起動時にコンパイルして
実行するもの(間違ってたらすみません)。

Infernoも対応していると各所で書かれているのですが、はて?どう使うものか。

で、調べたところ、おそらく次の手順でいけるはず。
実行時に切り替えられるっぽい。

echo 1 > /dev/jit

とするとON。

echo 0 > /dev/jit

とするとOFF。簡単。
現在の状態を見たければ、
cat /dev/jit

これであっているか確証は無いのですが、
ちょっと動作速度を計ってみました。

OFFのとき
; echo 0 > /dev/jit
; time ls
0.002l 0.031r 0.033t

ONのとき
; echo 1 > /dev/jit
; time ls
0.004l 0.027r 0.031t

ONにするとLoad Timeが増えて、Real Timeが減る。
で、この条件ではTotal Timeは減る。
なんかそれっぽく動いてますね。

/dev/jitに関するソースコードを見ようと思ったのですが、見つからず。
あれ?

1 件のコメント:

  1. emuの引数にjit の設定を指定できるようです。

    emu -c1
    とかすると良いらしい。/dev/jitに反映されるようです。
    数値は0から9。1から9で何が変わるかは不明です。

    返信削除