FGALDC 13 /RE:07442 Re^13:生ログの海を泳ぐために  こんにちは、あきろ さん 》 つ3つです。その2、3のフォーラムのみのタグ情報を抜き出すようにする 》 ことはできませんか? できるとは思います。 私がなぜこのようにしなかったかという理由は、別の会議室を読みたくなった時 にまた複数の生ログを読ませるのは効率が悪いような気がしたからです。 で、いまちょっと考えてみましたが、結局1つの会議室のタグ情報を出力するの も複数の会議室のタグ情報を出力するのも、入力としては指定された生ログ全て を読み込まなければならず、入力と出力の比率を考えると圧倒的に入力ファイル の方が大きいのですから、出力のファイル数を減らしてみても効率の向上はあま り見込めないと思います。 要するに、所要時間は出力ではなく入力のサイズに依存するということです。 これを、抜き出しの精度を落とさず、あるいはわずかに落としてでも、速度を向 上させるという方法は私にはわかりません。 あと、いまちょっと思いついたのは、どうせログなんて普通の人はそんなに書き 換えるものではないのですから(私はよく書き換えるけど)、新たに取得したロ グだけ niftree1.awk で処理して、各会議室ごとのタグ情報ファイルには上書き ではなく追加していくようにすれば、1回分のログを処理するだけですからそん なに時間はかからなくなるのではないか、ということ。 8月20日  8月10日〜8月20日のログをモバにコピー  niftree1 で10日分のタグ情報を抽出  ツリーの必要な会議室のみ niftree2 で処理 8月21日  8月10日のログ削除  8月21日のログをモバにコピー  8月21日のログからのみ niftree1 でタグ情報を抽出               →既存タグ情報ファイルに追加書き込み  niftree2 でツリーを再作成 この方式なら、1回に処理するログの数もサイズも小さくてすみますから、ある 程度の速度は出せると思います。 デメリットは、既に消してしまった8月10日のログを指し示しているタグ情報 が消されずに残ってしまうこと。つまり、現在モバのフラッシュに存在していな いタグ情報でぶくぶくとファイルが膨れ上がってしまうのですね。ただ、これも デメリットばかりではなくて、ツリーの一番大元の発言が消されずに残ることも あるわけですから、出来上がったツリーが分断されづらく美しいものになる可能 性が高くなる、と言うメリットもあったりなんかします。 さて、現状では niftree1 は上書き出力になっているわけですが、これを追加書 き出し出力にするのは簡単です。 niftree1 の最後、print で始まっている部分の最後、outfile に上書き出力でリ ダイレクトしているわけですが、ここを追加型リダイレクトに書き換えてやれば おしまいです。具体的には、以下のようにします。 現 在:print num " " daytime " " handle " " tag " " parent > outfile  ↓ 変更後:print num " " daytime " " handle " " tag " " parent >> outfile 申し訳ありませんが、現状では取り合えずこのくらいしかアイディアが湧きませ ん。でも、また何か御意見等ございましたら、遠慮なくお聞かせいただけると幸 いです。お役に立てるかどうかはわかりませんが。                                 としき