replaceallfastが遅い?No.10955
cho-bi さん 06/08/11 10:15
 
 「#10909 β36でのopenfile "/h"」でも触れました、元のファイルのある部分をコ
ピーし、openfile "/h" で別の秀丸を開いてそこで全置換処理をやらせて元のファイ
ルに書き戻す、という自作のマクロの件ですが、β37以降元のファイルがチカチカす
ることはなくなったのですが、体感スピードがかなり遅くなったような気がします。

 そのマクロで行う「replaceallfast」は392個なのですが、試みに804.4KBのテキス
トファイルに実行したところ、β37と38では9から10秒ほどかかり、β34と35では5秒
ジャストでした。
 以前のバージョンからするとほぼ倍の時間がかかるということで、かなり遅く感じ
るのだと思います。
 以前のように速くならないでしょうか。ご検討をお願いいたします。

[ ]
RE:10955 replaceallfastが遅い?No.10958
秀丸担当 さん 06/08/11 16:13
 

> 「#10909 β36でのopenfile "/h"」でも触れました、元のファイルのある部分をコ
>ピーし、openfile "/h" で別の秀丸を開いてそこで全置換処理をやらせて元のファイ
>ルに書き戻す、という自作のマクロの件ですが、β37以降元のファイルがチカチカす
>ることはなくなったのですが、体感スピードがかなり遅くなったような気がします。
>
> そのマクロで行う「replaceallfast」は392個なのですが、試みに804.4KBのテキス
>トファイルに実行したところ、β37と38では9から10秒ほどかかり、β34と35では5秒
>ジャストでした。
> 以前のバージョンからするとほぼ倍の時間がかかるということで、かなり遅く感じ
>るのだと思います。
> 以前のように速くならないでしょうか。ご検討をお願いいたします。

いろいろ試してみたところ、概ね以下のような速度の違いがありました。
β34 11360ms
β35  9766ms
β36 27422ms
β37 12031ms
β38 12984ms
タブモードや排他制御などにより結果の違いはありましたが、β34とβ38の大き
な違いが出ることはなく、少し遅いです。
関数の処理時間等を計測してみても、ステルス秀丸をアクティブにし続けること
が原因で、これは致し方ないところです。倍になるほどの原因ではないかもしれ
ません。
それはそれとして、disabledrawをしたときはβ38から高速になりましたが、連
続してreplaceallfastを実行した場合は効き目が現れませんでした。次のバージ
ョンでは連続してreplaceallfastをしてもかなり高速になることが期待できると
思います。

openfile "/h";
disabledraw;
replaceallfast …;
replaceallfast …;

という感じでかなり高速になる予定です。

[ ]
RE:10958 replaceallfastが遅い?No.10959
cho-bi さん 06/08/11 16:33
 
 早速どうもありがとうございました。

 次のバージョンではかなり高速になることが期待できる、とのこと、ありがとうご
ざいます。
 次期バージョンを楽しみにしております。

[ ]