Ver9.16でreplaceallfastを多用したマクロNo.39867
らうの さん 22/07/11 21:31
 
64bit版の秀丸エディタを使用(Windows10 Pro環境)。

replaceallfastを多数列挙した自作マクロを利用しています。
現時点で1万7千個以上の置換文を列挙しているのですが、単一のマクロでは「バッフ
ァがオーバーしました」というメッセージが出るため、5000個を目処に分割した複数
のマクロを連続実行しています。

これであるテキストファイルを処理するとVer9.15までは1分少々で完了するのですが、
Ver9.16にすると4分少々と4倍近い時間がかかるようになりました。
ここでVer9.15に戻すとまた1分少々で終わるようになります。

バージョンアップでいきなり4倍も時間がかかるようになったのは不便ですので、ど
うにかならないものかと考えております。
どうかよろしくお願い致します。


[ ]
RE:39867 Ver9.16でreplaceallfastを多用No.39871
秀丸担当 さん 22/07/12 09:45
 
マクロは
replaceallfast "abc1","xyz1";
replaceallfast "abc2","xyz2";
 :
といったようなもの5000個くらいあるものか、これの先頭にdissabledrawを加えたよ
うなものかと思います。
こちらで同じようなマクロを作って試してみた限りでは、V9.15でもV9.16でも大きな
違いは見られませんでした。
何かしら別の理由があるのだと思います。

置換ではないので外しているかもしれませんが、1つの典型的な例としては、ウィル
ス対策ソフトによっては、新しく公開されたようなアプリの場合、ウィルスチェック
が厳しくなって起動が遅くなったりすることもあるようです。
もし起動や終了を繰り返すようなマクロの場合、そういった影響もあるかもしれませ
ん。

もし差支えなければ、マクロやサンプルとなるテキストの一部など、文字を変えたも
のでもいいので、送っていただけるとこちらでも確認できます。送っていただける場
合、"taki@maruo.co.jp"まで送っていただけると助かります。

[ ]
RE:39867 Ver9.16でreplaceallfastを多用No.39872
秀丸担当 さん 22/07/12 10:54
 
すみません。調べてみたところ、regularを付けて正規表現にしたところ、こちらで
は1.7倍くらい違いがありました。
V9.16で、正規表現が応答なしになっていないかとのチェックを今まで限定的な条件
だけだったところを、常時チェックするようにした影響で、違いがありました。
同じ原因かわからないですが、条件によってはもっと違いが出るかもしれません。
いったん従来通りにして、できるだけ早い段階でまたバージョンアップしようと思い
ます。
また常時チェックするかどうかはその後のバージョンで検討しようと思います。

[ ]
RE:39872 Ver9.16でreplaceallfastを多用No.39873
らうの さん 22/07/12 14:04
 
お世話になっております。

置換は基本的に全てregularをつけた正規表現で実行しています。
正規表現の応答なしのチェックが絡んでいるかもという指摘、ひとまず道筋が見えて
ホッとしています。
今回の件の原因がそれなのかは今後の検証を待ちたいと思います。

一応念のため、当方のマクロとサンプルテキストを指定されたアドレスに送付させて
いただきました。
どうかよろしくお願い致します。

[ ]
RE:39873 Ver9.16でreplaceallfastを多用No.39874
秀丸担当 さん 22/07/12 15:21
 
ファイルを受け取りました。
ありがとうございます。
ほぼ同じように再現させることができました。
そして正規表現のチェックを従来通りにしたところ、以前通りになることも確認でき
ました。
近日中にまたバージョンアップさせていただきます。

[ ]
RE:39874 Ver9.16でreplaceallfastを多用No.39875
らうの さん 22/07/12 17:34
 
確認、どうもありがとうございました。
バージョンアップまではVer9.15を使ってしのぐことにします。

[ ]