Open2

Ribbon: インタプリタとして起動してみる

okuokuokuoku

... というか一発完動で逆にびっくりなんだけど。。

GCを実装していないので起動するだけで16GiB消費する(グラフは終了時点まで撮っちゃってるので10GiBに見えるけど)。

完全bootstrap、つまりreaderやらcompilerやらをその場でSchemeソースから読んで、それを実行する形で実行すると:

real    1m19.522s
user    1m10.859s
sys     0m6.640s

起動に1分かかる。でも1分くらいで起動するのか。。完全bootstrapで起動するということは、既にインタプリタはセルフホストできる(他のSchemeの助けがなくても原理上開発できる)ということになる。

まぁエラー時のbacktraceすら無いので開発は今迄通りGaucheでやるけど。。

okuokuokuoku

リファレンスカウントを実装

https://github.com/okuoku/ribbon/commit/9ec272e31cbc60e3075b69cd51a75d7b116ec4bf

Ref → Unrefの順でやらないといけないのを徹底できていないケースがあったのでその辺も修正している。

多少遅くなった。まぁ処理量は増えるしこんなもんだろう。16GiB → 1GiB なのでメモリ消費量は減ってるけど、何かリークがあるかもしれない。そういうデバッグが辛いんだよなぁ。。

real    1m54.829s
user    1m53.843s
sys     0m0.640s