fib深追い 2 - Scheme VM を書く

Scheme/L.VMを作る/12.コンパイラ高速化/fib(26)の計測データのGakuさんがまとめてくれたデータを見るといろいろ分かることがある。

  • 大半の命令の実行速度は変わらない
    • 実装レベルでは結構処理が違うのにも関わらず
    • もしかしたら合成命令にしても元の命令たちにかかっていた時間の和にはならず、もっと短いのではないか?(ディスパッチに時間がかかる?)
  • CONT / PUSH あたりを合成命令で減らすのが効きそう。
  • あとは Gauche でまったく同じことをやってみて命令数を比べるってのはありかもしれない。ソースコード読みのおかげで大体やり方はわかりそう。

方針

  • 合成命令で命令数が減らせないか?
  • Gauche で全く同じ fib を実行してみてデータをとる。これにより以下の事が分かる。
    • 命令数の差。
    • 1命令にかかる時間の差。
  • Schemeレベルのプロファイラを作る。(fibのあとかな?)

他にありますかね>Gakuさん