開発関連メモ
今後、適時ここに記録をしてゆく。
NEWS
pl/nmzidx.pl
http://www.namazu.org/trac-namazu/trac.cgi/attachment/wiki/Development/nmzidx-half.png
File::MMagic関連
http://www.namazu.org/pipermail/namazu-devel-ja/2005-December/000779.html
readMagicLine関連修正1.26で修正済みpdfの判定が遅い(magic entryの順番)1.26で修正済みHTMLの判定が遅い(doctypeに未対応)1.26で修正済み
http://www.namazu.org/pipermail/namazu-devel-ja/2005-December/000771.html
checktype_dataの選択パターンが遅い1.26で修正済み
マージの高速化
%KeyIndex?, %KeyIndexLast?, %PhraseHash?, %PhraseHashLastをデータベースに tieして使い続ければ高速にならないか?
- 各種ハッシュ変数の初期化処理を追加
- DBの利用とtie処理
- write_index, write_phrase_indexを呼ぶ箇所をサブルーチン化
- 呼び出し条件を変更
- ON_MEMORY_MAXのチェックを撤廃
- re-execする前に保存
- 処理が完了する前に保存
- 呼び出し条件を変更
- 各種ハッシュ変数の最初期化をwrite_index_sub, write_phrase_hash_subに入れる
- hash-bdb.diff として実装してみた
- バグにより動かず
- 初回のtied()で警告
- untie時にreference counterが残っているという警告が出る
- tie時の帰り値を保存していないのが原因?
- http://www.unix.org.ua/orelly/perl/prog3/ch14_05.htm
- tie時に保存し、untie時に明示してundefすることで解決
- 最終的に正しいインデックスが生成できず途中で終了
- DB_Fileを利用したことでメモリの消費を抑えられるはずなので、ON_MEMORY_MAXのチェックをはずしてみた
- インデックスは完了
- 旧来のコードでインデックスさせて出力に差がないかどうかを確認する
- 同一のデータができた
- 3000ファイルを対象にした場合、25%ほどかえって遅くなった
- I/Oの問題?
- メモリが十分多いなら、ON_MEMORY_MAXのチューニングをしたほうがいいかもしれない
- バグにより動かず
Windows binary
Test Scripts
Last modified 12 years ago
Last modified on May 13, 2007, 10:20:01 AM
Attachments (3)
-
nmzidx-half.png
(51.9 KB) -
added by knok 13 years ago.
nmzidx.pl UMLクラス図
-
hash-bdb.diff
(2.8 KB) -
added by knok 13 years ago.
hashをDB_Fileにtieするパッチ
-
DB_Namazu_Field.pm
(2.3 KB) -
added by knok 13 years ago.
NMZ.field.*を配列にtieできるモジュール
Download all attachments as: .zip