[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: sb-rss.el



At Sun, 15 Jun 2003 17:39:22 +0900,
TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:
 
> >> On Sat, 14 Jun 2003 17:13:21 +0900
> >> minakaji@namazu.org (NAKAJIMA Mikio) said as follows:
> 
> >XML として真面目に parse すべき理由が分かったので、もはや自分のアプロー
> >チに固執しませんが、xml ファイルを parse する場合、Emacs のバッファに
> >読み込んで、そのまま正規表現で加工できるなら、一般論としてその方が速
> >いです。
> 
> XML is a poor man's S expression とも言われるくらいなので,うまく <> 
> などの angle bracket の類を () に置き換えれば,read() 一発で list に変
> 換できる可能性はあると思います.

  なかなかおもしろい発想ですね。ぼくには思いつきませんでした。

  話が少し逸れますが、SKK では、個人辞書を Emacs バッファで管理、検索
しているのですが、昔、単なる辞書エントリに付加情報を加えて list ベース
で管理できないかと、試してみたことがあります。

list をそのまま dump してファイルに保存し、次に SKK を起動したらその
list を読み込む、という手順ですが、先に説明したように、元々、Emacs の
バッファに読み込んだらすぐに検索できる状態だったのが、list 管理にする
ことで、

(1) Emacs バッファに読み込む
(2) Emacs 内部で list として活用するために、ファイルに書かれた list を
    read する という 2 つの手順

(更に保存のときは (3)Emacs の list をバッファに出力する、(4)バッファに
書いた list をファイルに保存するという 2 つの手順) を踏む必要が生じ、
個人辞書が大きいと、元のシステムよりも、はっきりと体感速度の違いが感じ
られる程に起動、終了に時間がかかってしまい、結局ボツにしました。

一般論としてファイルにタグ付きで表現されたものを正規表現を使って list
にするか、read で一発で list にするか、いずれがコストが低いかと言えば
後者のような気もしますが、長い list の read はやはり意外に時間がかかる
ものです。

そういう意味で、Emacs のバッファとは別に、Emacs の list に読み込む工程
が省略できるものなら省略したい、というのが、ぼくの脊髄反射だったわけで
すが、RSS ファイルの読み込みに関しては、今のところ、RSS ファイルが小さ
いこともあり、体感速度に差が出る程の違いは出ていません。

# XML ファイルを xml.el (あるいはその代替物) で処理しましょう、という
# 方針に未だ抵抗しているわけでなく、一般論を述べているだけですので、
# 誤解ありませんよう...。
--
中島幹夫 <minakaji@namazu.org>
home: http://www.asahi-net.or.jp/~gy2m-nkjm
diary: http://slashdot.jp/journal.pl?op=display&uid=5767