正規表現:テキストエディタ

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


2015年10月05日11:05 更新
2015年10月05日09:10 更新
2015年10月04日17:20 更新
2015年10月03日16:30 追加

正規表現:テキストエディタ

日本製で5GB以上扱えるテキストエディタ3つについて検索時間を比較してみました。
テストに使用したファイルは、ほとんどがひらがなと漢字から成り、少し半角のアルファベットと数字が混じっているテキストファイルです。
ファイルサイズは約5GB、行数は約4200万行、文字コードはShift_JIS。
検索文字列:通常 suzukawaya  正規表現 \d?suzukawaya\d?
検索方向はファイル先頭からファイル最後に向かう方向。英文字大小区別。
繰り返し3回実行。上段:1回目、中段:2回目、下段:3回目。
テスト中は他のソフトを一切起動しないでCPUとメモリを対象ソフトに集中させて実行した。
使用パソコンはこちら
2015年10月04日 17:20 : S 通常、上段1回目:32秒 → 1分15秒に修正。
2015年10月05日 09:10 : S 正規表現、上段1回目:58秒 → 1分28秒に修正。
2015年10月05日 11:05 : E 備考 通常:約15分 → 約12分、正規表現:約60分 → 約46分に修正。
テキスト
エディタ
通常正規表現備考
鈴川エディタ
(S)
1分15秒
32秒
32秒
1分28秒
56秒
57秒
鈴川エディタver 04.01.03I。32bit版。5TB以上、2兆5000億行以上。
三つのテキストエディタの中では鈴川エディタが一番速いが、世界で一番というわけではない。驚異的に速いソフトが他にある。010Editor:約50GB、約4億2千万行、通常、正規表現ほぼ同じで約8分30秒。
2GB以下については検索時間もせいぜい30秒程度で速い遅いの違いもわずかであるからここでは問題にしない。
ファイルサイズが10倍の約50GB、約4億2千万行になると検索時間は通常で約12分、正規表現で約14分かかる。ファイルサイズと検索時間は比例しない。ファイルサイズが大きくなると2回目以降も検索速度は変わらない。キャッシュの効果が見られない。
秀丸エディタ
(H)
2分45秒
2分47秒
2分47秒
2分55秒
2分58秒
2分58秒
64bit版。最大行数1億行。
開始から10~15%検索すると応答なし状態になるが、最後まで実行。通常検索も正規表現検索も検索速度はほぼ同じ。特別高速というわけでもなく、特別低速というわけでもない。
EmEditor
(E)
1分20秒
1分17秒
1分17秒
4分44秒
4分45秒
4分43秒
64bit版。248GB、21億行。
通常検索は問題ないが、正規表現検索が極端に遅い。
ファイルサイズが10倍の約50GB、約4億2千万行になると検索時間は通常で約12分、正規表現で約46分かかる。この低速ぶりは正規表現ライブラリを検索プログラムに組み込む手法と技量に問題があることを示しているのである。



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