強力な正規表現#7

さて、8000文字テストで落ちないエディタを三つあげたわけだが、
その三つとも、80000文字テストを乗り切ることは出来なかった。
EmEditorの限界は74483文字で、それ以上だと「見つかりませんでした」が出るか、
条件は不明だが「Too Big」とかなんとかっていうダイアログが出るかする。
落ちるよりはヒットしない方が全然マシ。
萌ディタは、80000文字の貼り付けが出来なかくて「がっかり」ダイアログ。
仕方ないので8000文字を10回貼り付けようとしたが、やはり9回目で「がっかり」。
どうやら、改行なしでもてる文字数の限界が6万くらいのようなので、
(8000文字+改行)*10にしてみたら「がっかり」なしで貼り付け出来た。
データ構造の問題で「がっかり」出たが、正規表現の方は問題ないみたいで、
改行を10回含んでいるにもかかわらず、テキスト全体セレクトに成功。
EmEditorは改行を1回までしか含む事が出来ないので、この方法では16000文字で停止。
GreenPadは8000文字*2を貼り付けて検索した時点では問題ないが、
8000文字*3を貼り付けて検索すると黙って落ちる。
正規表現に限界がある物も、テキストバッファに限界があるものも含めて、全滅した。

普通はここで秀丸も試すんだろうけど、アレは実質フリー見たいなものだけど、
一応、シェアウエアであり、何年も前に試用期間を終えているあたしが、
最新版を落としてインストールするってのもどうかと思うので試していない。

煮るなり焼くなり好きにする事にしたAlphaは、80000文字貼り付けたのに画面が出ない。
パッチ前はその後範囲選択もあやしい感じだったが、
パッチ後はパッチ前とはまた違って画面表示があやしい。
キャレットがどこにあるかもよくわからなくなっちゃうので、この方法は断念。
日記に書いてあるとおり、(5000文字+改行)*10で試し、正常に動作したが、
EmEditor同様、改行は1回しか挟めないようだ。
2行ヒットすることもあれば1行ヒットすることもある。
こちらの期待通りの動作をなかなかしないので、ウソを書くことになるかも知れないが、
Alphaも8000文字は乗りきるが、20000文字ぐらいで検索できなくなる。
黙って落ちるよりはだいぶマシ。

こんな状況なので、あやしいかも知れない強引なgotoで限界を超えても、
誰もそんな検索はしないって事で、無駄な処理よりスピードを重視した方がいい気もする。
やっちまったものを元に戻す気はないが、やらなくても誰も気にしないはず。

たしか、正規表現を高速化するとか思い通りに変更するとか言ってたよな。
落ちるのを直す話題を書くはずじゃなかったよな。

追記:
いつもなら致命的バグを修正したら急いでアップデートなんだが、
誰もやらないような事への対応と言うことと、gotoに自信がないということで、
今回は非公式アップデートのみということに。
落ちるとか落ちないとか、出来るとか出来ないとか検証したい人向けに。

B000A6ODWA
B000A6ODWA

たぶん関連のある記事:

コメントは終了しています。