[Mew-dist 16018] Re: thread vs mew-summary-hl

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2001年 1月 23日 (火) 17:48:32 JST


From:  Hideyuki SHIRAI (白井秀行) <shirai at example.com> 曰く
Subject: [Mew-dist 15910] Re: thread vs mew-summary-hl
Message-ID: <20010115.131312.103021113.shirai at example.com>
Date: Mon, 15 Jan 2001 13:15:26 +0900

kazu> > 2. mew-summary-thread-region() で
kazu> >    ;; This must be "buffer-substring"
kazu> >    (setq line (buffer-substring start (point)))
kazu> >  となっていますが、なぜ、buffer-substring-no-properties ではだめ
kazu> >  なのか、その心がわからないです。教えていただけるとありがたいで
kazu> >  す。(_ _)
kazu> 
kazu> マークに対する色とか、invisible とか引き継ぐためだったと思います。
白井> ~~~~~~~~~~~~~~~~
白井> おぉ、これは納得。(そういわればそうですね)

と、以前納得したのですが、(個人的には ^^;;;)やっぱり納得しないほ
うがうれしいので実験してみました。


● 試験内容
全部で 19826 message の folder から thread folder を作成しました。
Emacs-20.7 で各々 4回計測して平均値を算出。pass2 は差が無いので省略。

(1) 現状の mew-thread.el + 事前に (mew-idle-timer-clean-up) した。

(2) 付属のパッチの様に 
 (setq line (buffer-substring-no-properties start (point)))
 + (mew-highlight-mark-region (point-min) (point-max))
 に変えた。当然、visual は highlight-mark が終わるまで。

● 結果
○ Mark 無しで 't'
 (1) pass1: 4.99, visual: 9.59
 (2) pass1: 4.36, visual: 5.89

○ 9913 msg に '*' mark で 't'
 (1) pass1: 5.69, visual: 10.67
 (2) pass1: 4.59, visual: 7.44

○ すべての msg に '*' mark で 't'
 (1) pass1: 6.38, visual: 12.00
 (2) pass1: 4.59, visual: 8.86

● 考察
すべての項目において 試験(2) の方が速度が速かったです。(^^)C

(実は、こんなに速いとは思っていなかったのですが)想像以上に
mew-highlight-mark-region() が速いため、一度 text-property を捨
てて thread を構築した方後から mark の highlight をした方が良い
結果が出ました。

また、invisible に関しては、thread folder でも invisible にする
code が動くのだから気にする必要はないと思います。

● 結論
というわけで、buffer-substring-no-properties() にしませんか?
ついでにお願いしちゃうと run-hooks も入れてくれるとありがたいです。


P.S. おまけの試験 (パッチ + 改造中の mew-summary-hl)

Emacs-20.7 => pass1: 3.9, virtual: 5.0
XEmacs-21.2.40 => pass1: 7.6, virtual: 7.5

両方とも summary-hl を使わないのと同等、あるいはそれ以上。
遅くなるのも直ったみたい。

-- 
白井秀行 (mailto:shirai at example.com)
-------------- next part --------------
H4sIAAAAAAAAA4yT3Y7aMBCFr1lp32G0N00UZpWEwlL2hute8wKGTBIvsZ31D5S3r50fmr
BS20jIRvPN2OecBBFB0BVtrYkVr9S8Ks2rxaF28JNJyLaQrXfpepenkKdp9vyUJMm8YXFw
1LH5CrK3XZruvo/sfg+Yb7fLLSRheYP9/vkJFtA/kSH7CeKGvAj/wlDB7KmGPI6/YK2WNo
ATbDXHSqWvTBfYcEm+gGPh/R0ONTcgnLFwJHg5urIkjcYdjdVcVi8TuD8sjIDokQNjmbYQ
tYpLG4fDk/9pQ6mw1aolbTmZr0Me/aBeY++vl3omJGn1bc5OEN+GwlQQWv36N6y7occGj0
I+q3W+/AHJap0ts3QMqOszTgimb2N/68XYfnaoXri2jjU4yB0gq1ooVVOQ7snZIHNiEn1M
YkDg20k1Tsi48wFnNlixgejktPba0XJBnfx7pH/2ES/BTz+Pb4Y+o5OF6nYGoob71O8VTR
dO1z67qUU1r+rG/+yIVVzJISQUXMb3Pfs1a/73XQMymiRUwUtO3kuQvInnIgpu2pDjEN/M
uQ8nfI2MYRXdwTHATb7c+AD9MnxgU2UPIQp1IfRXNUr3x/8GAAD//3RUQQ6CMBD8SsNFAo
HQBjVy9sDFR1RaxAQpwWLC791tC5KCh4ZAJzvM7O5skVi+5ZP/hzN7cLX3uBC2KEnTlAjV
yWDtzDB2SaMU9OCwGkJX3Nx4+hEl5H1cDGiljkgYaurGGIxNKt5W4DeDQ+1C4JBptoXkcE
xCJC7hPnx4L/l2g/aazGIQVQXLi4x5+ebg63TLLkV++iUhmk+PZzQfH5TO7hePQY291e1c
td/11EtymLUDVyhkXUEuqRf5YxK2wbgaRCW+grpWCvLsINSM+XaV0sCAdpljnzkGco+5gV
J2QOWKluzQlgZJEImknlwx8BpC4gsAAP//AwAkH7iXVgYAAA==


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