Entries from 2007-12-19 to 1 day

自分の体調変化の原因を知る

先日の健康診断の結果を聞いてきた。 結果はオールAで健康。何も問題はありませんと言われた。 健康面では食事の影響もあるはずなので妻に感謝。 これはここ数年間で一番良い結果。 最近は自分の好きなことだけをコーディングを中心にばりばりやっていて、か…

プロファイル - Scheme VM を書く

Bignum の実装が一段落した。 やっとプロファイラを動かしてコンパイラの実効速度が著しく遅い件を調べることができる。 事実 Wiki のコンパイルに 0.4 sec。 Wiki の実行に 0.6 sec。 Wiki の実行の 2/3 はコンパイル。 VM on Gauche が VM on C++ よりも速…

次はコンパイル時の最適化か

次はコンパイル時の最適化かな。 代表的で効果のありそうな最適化を実装したい。 特に let/named let/letrec/let* などあらゆるところで使われる lambda 式の最適化が必要だ。 Three Imp にヒントだけ書いてあったような気がする。 あとは Gauche の compile…

C++側での最適化 - Scheme VM を書く

VM の構造を変えない限りはアルゴリズム的に改善する余地はあまりない。 そこで C++ 実装面での最適化を行う。 Wiki のコードのコンパイルにかかる時間を基準に計測しつつ最適化。 対応 sec 元の状態 0.650 -fomit-frame-pointerをつける 0.400 always inlin…