[mew-dist 24676] Re: local scan をちょっとだけ速く
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2004年 3月 2日 (火) 12:23:50 JST
From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
Subject: [mew-dist 24323] local scan をちょっとだけ速く
> local な scan ですが、添付のパッチのようにすると、650通の
> folder で scan にかかる時間が
>
> (1) folder がネットワーク越しにあるとき (Meadow から samba)
> 83秒 => 71秒 (15% 速度向上)
ローカルフォルダのスキャンに関する白井さんのこのパッチですが、
>
> --- mew-local.el.orig Tue Jan 6 20:18:35 2004
> +++ mew-local.el Tue Jan 6 11:46:14 2004
> @@ -316,6 +316,8 @@
> (goto-char (point-max))
> (forward-line -1)
> (when (looking-at "^\\.$")
> + (unless mew-xemacs-p
> + (process-send-string process "\n"))
> (mew-dot-delete)
> (goto-char (point-min))
> (unless first
> @@ -333,8 +335,9 @@
> (mew-scan-body vec draftp)
> (mew-scan-insert-line bnm vec width nil mark)
> (delete-region (point-min) (point-max))
> - (mew-timing) ;; for XEmacs
> - (process-send-string process "\n")))))
> + (when mew-xemacs-p
> + (mew-timing) ;; for XEmacs
> + (process-send-string process "\n"))))))
Emacs に対して、mew-timing を外すことで速くし、変なところで "\n" を送る
ことで遅くしているように思います。
以下のロジックが正しと思います。僕の環境だと、体感的に随分速くなる気が
するのですが、いかがでしょうか?
# すぐに commit する予定です。
--かず
Index: mew-local.el
===================================================================
RCS file: /cvsroot/mew/mew/mew-local.el,v
retrieving revision 1.83
diff -c -r1.83 mew-local.el
*** mew-local.el 1 Feb 2004 13:26:38 -0000 1.83
--- mew-local.el 2 Mar 2004 03:20:50 -0000
***************
*** 316,323 ****
(goto-char (point-max))
(forward-line -1)
(when (looking-at "^\\.$")
- (unless mew-xemacs-p
- (process-send-string process "\n"))
(mew-dot-delete)
(goto-char (point-min))
(unless first
--- 316,321 ----
***************
*** 336,343 ****
(mew-scan-insert-line bnm vec width nil mark)
(delete-region (point-min) (point-max))
(when mew-xemacs-p
! (mew-timing) ;; for XEmacs
! (process-send-string process "\n"))))))
(defun mew-local-sentinel (process event)
(let* ((pnm (process-name process))
--- 334,341 ----
(mew-scan-insert-line bnm vec width nil mark)
(delete-region (point-min) (point-max))
(when mew-xemacs-p
! (mew-timing))
! (process-send-string process "\n")))))
(defun mew-local-sentinel (process event)
(let* ((pnm (process-name process))
Mew-dist メーリングリストの案内