改行コードスキップ検索

鈴川エディタホームページ


2015年12月04日17:45追加

改行コードスキップ検索

改良中の鈴川エディタは、改行コードを無視(スキップ)して検索、置換できます。これを「改行コードスキップ検索機能」と呼ぶことにします。
この機能は、一行の文字数が大きい(一行が長い)テキストファイルの場合に役に立ちます。たとえば、一行の文字数が10万個以上になると、テキストエディタでテキスト表示が困難になることがあります。文字の色分けを施す場合などは特にパフォーマンスが悪化します。 こんなとき、一行のテキストに改行コードをところどころ挿入して一行の文字数を減らすと、テキスト表示がスムーズになります。
この場合、検索すべき文字列が複数行に跨る場合がでてきますが、改行コードスキップ検索により検索すべき文字列をもれなく見つけることができるのです。
「改行コードスキップ検索」ができるテキストエディタは、日本では、最大行数1億行の秀丸エディタと改良中の鈴川エディタだけです。
この二つのテキストエディタについて、こちらと同じテキストファイル(約5GB、約4200万行)で改行コードスキップ検索を試してみます。
テスト用のテキストファイルの最後に下記の文字列を挿入しておきます。
   *********2suzu[CRLF]
   kawaya5******[CRLF]
[CRLF]は改行コード、***はテキストファイル中の文字を表します。
検索文字列、検索方向、その他の条件はこちらと同じ。連続3回実行。
改行コードスキップ検索」のテスト結果は以下の通りです。表中の時間は検索時間です。
テキスト
エディタ
通常正規表現備考
鈴川エディタ
(32bit版)
1分26秒
28秒
28秒
1分56秒
1分00秒
1分00秒
改良中の鈴川エディタ
ファイルサイズが小さい(概ね10GB以下)うちはキャッシュの効果で2回目以降は検索が高速になる。
改行コードスキップ検索と非スキップ検索はほぼ同じ検索速度。
秀丸エディタ
(64bit版)
5分05秒5分16秒64bit版。最大行数1億行。
連続3回実行したが、いずれもほぼ同じ。
開始から1~2%検索すると「応答なし」状態を呈するが、最後まで実行。改行コードスキップ検索は非スキップ検索の2倍ちかく検索時間がかかる。



Copyright (c) 2000 - 2017 鈴木由彦(Yoshihiko Suzuki)
e-Mail:szkwjp@gmail.com
HomePage:http://www.szkwjp.com/