Article freyasx/12 of [1-110] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A11@freyasx.ML_>]
Newsgroups: mail-lists.freyasx

[FreyaSX] Re: FreyaSX-0.98.1 リリース (ちょっと修正)
04 Aug 2004 03:20:57 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project


On 08/04/04(00:28) you ysato@delegate (Yutaka Sato) wrote
in <_A11@freyasx.ML_>
 |On 07/26/04(18:11) you ysato@delegate (Yutaka Sato) wrote
 |in <_A10@freyasx.ML_>
 | |単純にすっきり解決したいので、ポインタ(pos_t)を64ビットに拡幅して解決
 | |しました。
 | |
 | |   テキストポインタ = {ドキュメント番号:31, 種別:6, 文字位置:26}
 |
 |これによって、処理速度が2割ばかり遅く、ファイルが7割がた大きくなったり
 |してましたので、ポインタの保存時の差分圧縮前に、なるべく下位のビットに
 |値が収まるようにシャッフルするようにして、ほぼ元のサイズに戻りました。
 |
 |それで 0.97.2 として出そうかと思っていたのですが、処理速度を上げる
 |ためにあちこち手を突っ込んでいるうちに、大幅な改善のためには、どうも
 |索引ファイルに格納されているレコードの構造を元から変更しないと難しそう
 |ということになりました。そんなわけで、.idxファイルはブロック化されて
 |いたものをべたべたの逐次書き込みファイルに、.lexには単語属性などを拡張
 |可能なように変更しました。.lex については簡単なポインタの圧縮も入れて
 |半分くらいに小さくなりました。このへんのちゃんとした比較はまた後日
 |やりたいと思います。
 |性能については、0.97.1 の2倍位の高速になりました。

0.98.0 で、findex 後に呼び出される索引ファイルのマージを大改造したの
ですが、その部分は fmerge からも呼ばれています。fmerge の場合には
後からマージする索引のドキュメント番号にそれ以前の索引のドキュメント
の総和を表すオフセット(実際にはドキュメント数)を足し加えるという処理
だけが違うのですが、この、それ以前の索引の総和というのが64ビットの
ポインタになっています。ところがこれをなにげにintにコピーして使って
しまったために問題が起こってました。
ついでなので、作成した索引ファイルのサイズを最期に表示する機能を加え
ました。

                   D G  
┌─┐┬┌──┬┐ //\^^ ( - ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V