2016年05月06日16:30更新
2016年04月25日11:45更新
2016年04月15日14:45更新
2016年04月12日13:15更新
2016年04月11日15:30更新
2016年04月06日09:45更新
2016年04月05日15:00追加
鈴川エディタ改良版は、複数行テキストの検索・置換機能の追加を主軸に置いていますが、この改良はもうすぐ終了します。ここで他のテキストエディタの検索・置換機能と比較してみます。
ここで取り上げるテキストエディタは以下の性能を備えていることが条件になっています。
検索・置換と検索のみに要する時間を調べるテストは以下の条件で実行します。
結果は表1の通りです。表1で①~④と備考の上段は検索・置換、下段は検索を示します。表中の時間が検索・置換、検索にかかった時間です。テキストエディタの順序は取り扱い可能なファイルサイズ、行数の大きさに従っています。
表1 - 各テキストエディタの上段:検索・置換、下段:検索のみ
テキスト エディタ | 性 能 | ① 1.2GB 920万行 13,457個 | ② 12GB 9200万行 134,570個 | ③ 120GB 9億2000万行 1,345,700個 | ④ 1200GB 92億行 13,457,000個 | 備 考 |
---|---|---|---|---|---|---|
鈴川 エディタ 32bit | 5TB以上 2兆5000 億行以上 | 10秒 10秒 10秒 | 3分45秒 2分03秒 1分49秒 | 54分46秒 53分49秒 62分00秒 | 572分 744分 863分 | 備考A1 |
6秒 | 1分45秒 14秒 12秒 | 20分10秒 | 183分 | 備考A2 | ||
010 Editor 64bit | 数TB 数千億行 | 10秒 (25秒) | 7分20秒 (26分00秒) | 770分 (TimeOver) | - | 備考B1 |
1秒 | 35秒 | 12分00秒 | 126分 | 備考B2 | ||
Pilot Edit 64bit | 400GB 150億行 | 45秒 (20秒) | 7分51秒 (3分10秒) | 99分43秒 (40分) | - | 備考C1 |
8秒 | 15秒 | 25分00秒 | - | 備考C2 | ||
Em Editor 64bit | 248GB 21億行 | 5分00秒 | TimeOver | - | - | 備考D1 |
25秒 | 3分51秒 | 51分15秒 | - | 備考D2 | ||
秀丸 エディタ 64bit | 数十GB 1億行 | 6分35秒 | TimeOver | - | - | 備考E1 |
15秒 | 13分12秒 | - | - | 備考E2 | ||
Mifes 32bit | 2GB 数億行 | 15秒 | - | - | - | 備考F1 |
10秒 | - | - | - |
2016年04月25日11:45追加
表2でEmEditorの行に( )付きの数値を追加した。これは開始から元に戻すためのデータを保存しないで実行した場合の時間である。上の( )がない数値は開始後数分間、元に戻すためのデータを保存しながら検索・置換を実行するが、数分後元に戻すためのデータを保存するメモリが足りなくなったのか、ダイアログが表示され、元に戻すことはできないが実行を続けるかどうか尋ねてくるので、このまま続行した場合の数値である。
②の場合がかなり短くなるが、他は大きな違いはない。趨勢に変わりはないのである。すなわち、EmEditorと他の三つの巨大テキストエディタ、鈴川エディタ、010Editor、PilotEditの間には天地の差があるということである。
表1から推測すると秀丸エディタもEmEditorと同様の結果になるだろう。多分、この二つは検索・置換のアルゴリズムが大筋では同じであると思われる。ここでは説明を省くが、このアルゴリズムでは検索文字列の数が大量であればあるほど、検索・置換にかかる時間は気が遠くなるほど長引くことになるだろう。特に巨大テキストエディタを謳うEmEditorは、もし本物の巨大テキストエディタを目指すならば、多分、この問題で四苦八苦することになると予想されるのである。
表2 - 検索・置換
テキスト エディタ | ① 1.2GB 920万行 13,457個 | ② 2.4GB 1840万行 26,914個 | ③ 3.6GB 2760万行 40,371個 | ④ 4.8GB 3680万行 53,828個 | ⑤ 6.0GB 4600万行 67,285個 | 備 考 |
---|---|---|---|---|---|---|
Em Editor 64bit | 5分00秒 (5分05秒) | 29分21秒 (19分20秒) | 43分40秒 (42分47秒) | 78分00秒 (75分24秒) | 120分40秒 (117分15秒) | 備考A |
鈴川 エディタ 32bit | 10秒 10秒 10秒 | 20秒 16秒 19秒 | 30秒 30秒 38秒 | 40秒 46秒 52秒 | 56秒 1分33秒 1分31秒 | 備考B |
010 Editor 64bit | 10秒 | 23秒 | 43秒 | 1分15秒 | 2分05秒 | 備考C |
Pilot Edit 64bit | 45秒 (20秒) | 1分42秒 (49秒) | 2分13秒 (58秒) | 3分00秒 (1分20秒) | 3分41秒 (1分35秒) | 備考D |