[Mew-dist 16190] Re: mew-folder-new-message

Atsushi Onoe onoe at example.com
2001年 2月 6日 (火) 17:08:35 JST


> > タイムスタンプに頼りすぎるのはどうかな。要は(n)が存在して(n+1)が存在
> > しなければ良いのだから、そのくらいは毎回確認しても良いのでは。

> 嫌でしょう? "x" するたび(しかも refile 先のフォルダの数をかける)、あ
> るいは、メールを送るたびに、これだけ時間を消費するんですよ。

そういえば cue では
	・(cache がないので)folder 開いた時に中身のファイル名は readdir(2)
	  して全部 sort して覚える
		忘れても良い、忘れてたら覚え直す
	・(最大値 + 1)に link(2) する
		万一 EEXIST が出たらエラー
		ユーザが dest folder を明示的に読み直す
てことをやってるようです(おぼえてない…)
(n) が存在するかは確認してないな。
(n+1)が存在しないと信じて実行して、もし存在したら何とかする(してないけど)。
というわけでオーバヘッドはないです。
emacs でできるか知らないけど。

> Elisp レベルで、
> 	(directory-files dir nil "^[1-9][0-9]*$" 'no-sort)
> して、これが返したリストを線形探索するという意味です。

> C レベルの関数のことなど、当然知りません。:-)

emacs は知りませんが:-) まぁ上記の readdir(2) した結果の最大値を取る
ってことですね。他に使わないなら sort するよりゃだいぶ速いですし、
仕方ないところでしょう。

尾上



Mew-dist メーリングリストの案内