wiki:Development

開発関連メモ

今後、適時ここに記録をしてゆく。

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が残っているという警告が出る
      • 最終的に正しいインデックスが生成できず途中で終了
    • 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)

Download all attachments as: .zip