[Yarv-devel] initial heap image (was: implementation dependent
techniques)
MAEDA Atusi
maeda-yarv @ atusi.org
2004年 2月 10日 (火) 03:03:05 EST
前のメイルのサブジェクト、"platform dependent"の方が良かったなあ。
システムのスタートアップを速くするために、
・インストール時に、ライブラリを全部読み込んだヒープイメージをファイル
にダンプ
・実行時に、そのファイルを同じアドレスにmmap
というのを考えたんですが、MAP_FIXEDで同じアドレスにちゃんとmmapしなお
せるのかどうか良く分からない。できたとしてもmallocした領域をmmapしちゃっ
て良いのか、とか。undumpよりは移植性がありそうに思うんですが。
昔、
・ヒープイメージをCのソースの形でdump
(例)
struct pair L0001 = { &L0002, Qnil };
struct pair L0002 = { &L0003, &L0004 };
...
・C言語でコンパイルしてインタプリタとリンク
というのを試したんですが、動的リンク(ld.so)でとっても時間がかかりまし
た。(その前のコンパイルというかアセンブルには、そりゃもうものすごい時
間がかかるが、これは別にかまわない。)
# 「移植性は完璧」と思ったんだが。
前田敦司
Yarv-devel メーリングリストの案内