yusuk****@cheru*****
yusuk****@cheru*****
2003年 11月 23日 (日) 23:29:48 JST
田畑@札幌です。 anthy-4723をリリースしました。 anthy内部から辞書を引くとき、最初に辞書の中にその 読みの単語があるかをhashを使ってチェックするのですが、 このhashのbitmapを辞書ファイル(anthy.dic)に移動させました。 これによって、mallocされるメモリが64KB減りました。 また、hashのbitmapのサイズを256KBまで増やして、同時に hash関数もいじったので、無駄な辞書アクセスも減ったはずです。 今から品詞の処理を変更してメモリの消費量が増えることが 予想されるので、その前に見直し作業を行なっています。 変換を行ってない時のメモリ消費量が150KBぐらいになることを 目標としています。(今で120KBぐらい) ---- *anthy.dicの中に256KB(=2Mbits)のビットマップを作って、 文字列をhash関数にかけて、ビットマップ中のhash値に 相当するところの0,1で、まず辞書の中に単語があるかを 判断してます。 *メモリが不足した際にmallocした領域はswap outが必要ですが、 anthy.dicのようにファイルをread-onlyでmapした領域は単に 破棄するだけで良くて(あとで、元のファイルから読み出せる)、 またプロセス間で共有できるので、低コストです。 -- CHAOS AND CHANCE! Yusuke TABATA (yusuk****@cheru*****)