Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: parallel mknmz (Re: mknmz next generation)
On Tue, 28 Mar 2000 19:11:31 +0900
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
> 移植性は Perl の方がずっといいと思います。
>「あれこれパイプで処理を行う」部分、以外は Mac でも動きますよね?
どっちが移植性が高いかという問題は、ケースバイケースかも
知れませんが、少なくともmknmzは文字コードの変換や、分かち
書きなどでパイプを使っていると思うので、ちょっと憂鬱です。
外部のプロセスとの通信手段やプロセス関係の制御回りはプラッ
トホーム別にくせが出やすい分野のひとつですので、はまる時に
ははまるような気がしますけど。
基本的に文字列の処理以外の部分では色々と環境非互換性がでま
す。GUI関係とか、ファイル入出力関係とか、プロセス制御関係と
かが代表的な例です。Winはまだましですが、Macなんて、環境変
数だのコマンドラインオプションだのも基本的にない世界ですの
で、Perlスクリプトの移植性も場合によってはあまりあてにならい
こともあります。
> C言語のプログラムでは、環境ごとの非互換を吸収するために
> autoconf/automake でいろいろとがんばらないといけません。
autoconf/automakeが使えるのは基本的にUNIX系のOSで、Macや
Winなどでこれらを期待するのはあまり現実的とは考えていなの
です。
MacならCodeWarrior for Macで、WinならVisual C++ですぐに
コンパイルして利用できるようなもののほうがありがたいです。
> 僕は mknmz を C言語で書き直す利点として次の2つを考えています。
>
> * 高速化
> * ライブラリ化
ライブラリ化はどうなるか分かりませんが、検索したい文書の
数が増えてくると、インデックスの更新にかかる時間が気にな
るでしょうから高速化は重要ですね。
> Perl にも HTML::Parser や XML::Parser はあります。これらを使
> わない理由は次の通りです。
>
> * 現在のいい加減な処理でも結構うまくいっているから
> * 書き直すのが面倒だから
> * 遅くなるから
遅くなっていうのが、一番問題ですね(笑)。
あと、Namazuへの適用を考えると、決してフルパースを行う
必要はなくて、インデックス作成時のタグの読み飛ばしや
コメントのスキップなど、極めてかぎられた処理だけを行え
ればいいので、HTML::Parserなどはオーバースペックという
気もします。
> >先にCatfishなんとかしないと〜(笑)
>
> 期待しています。:-)
http://www.ff.iij4u.or.jp/~ahata/indexj.html
に開発版を公開してみました。ソフトウェア的には、概ね
こんな感じかなというのがわかるくらいにはできています
ので、ちょっと見ていただけると助かります。
# XML文書のコーディングが一番問題気になるところです。
---------------------------
Bansoukou
Email: bansoukou@xxxxxxxxxxxx