Entries from 2008-04-09 to 1 day

Gauche と速度比較 3題 - Scheme VM を書く

さあ比較してみよう。 計測条件 X60 Core2 Duo Linux 2.6.22-14-generic #1 SMP Gauche は version 0.8.13 [utf-8,pthreads] 自前処理系は r5198 gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) -O2 -fomit-frame-pointer 計測結果 計測項…

time コマンド

うへぇ。 time コマンドって内部・外部コマンド両方あるのか。知らんかった。

パフォーマンスチューニングについて悩むこと

ここ数日時間をかけているわりにはインタプリタのパフォーマンスチューニングが進まない。 しかもうまく進む気がしないもやもやする。これは良くない兆候だ。 Mさんに言わせればこれは知識や経験やどこまでやりこんだことがあるかといったものが足りないこと…

R6RSの open-string-output-port を Gauche で書くと

(define (open-string-output-port) (let* ([port (open-output-string)] [proc (lambda () (let1 s (get-output-string port) (port-seek port 0) s))]) (values port proc))) こんな感じ?

unbound variable ELF on top level

今作っているでインタプリタ謎のエラーが出てびびった。 unbound variable ELF on top level うほ。なんだこれ。 自分自身を引数として実行してしまい ELF な実行ファイルの先頭を S式 として解釈しコンパイル。 #(REFER_GLOBAL |top level| ELF) を実行した…

fib 深追い - Scheme VM を書く

fib(30)だとログが膨大になるので fib(26) にした。 コンパイルと eval の傾向は fib(30) と変わらないことは確認済み。 コード (define (fib n) (if (<= n 2) 1 (+ (fib (- n 1)) (fib (- n 2))))) (write (fib 26)) (display " :") 結果 REFER_GLOBAL_TOP_…