48GBのファイルを「編集して、途中で保存する」まで — EmEditor と UwView Pro(Edit)を同じWindowsノートで比較

比較

前回は「48GBのファイルを開いて検索するまで」を比べました。今回はその先——編集して、途中で保存するまでです。

同じPC・同じ48GBファイル・同じ検索語で、比較の条件を揃えてあります。

比較相手は前回と同じ EmEditor Professional。巨大ファイルを扱えるWindowsのエディタとして、実質的にここが基準になります。前回の記事でも書いたとおり、編集機能の豊富さではEmEditorが圧倒的です。その前提は変わっていません。

変わったのは、UwView 側に編集が乗ったことです。

先に結論

操作 EmEditor(2回の平均) UwView Pro(Edit) 比
ファイルを開く 103.6 秒(116.8 / 90.4) 107.1 秒 互角(むしろEmEditorがわずかに速い)
「東京」を全文検索(94,979行がヒット) 194.7 秒(245.3 / 144) 23.9 秒 約8倍
「東京」→「Tokyo」を全置換 210.5 秒(257 / 164) 35.9 秒 約6倍
途中保存(作業を中断するための保存) 31 分(1,860秒) 0 秒(押した瞬間) —
最終的な書き出し(1つのファイルにする) 同じ操作をもう一度・31 分 1 分33秒 約20倍

EmEditor の3項目は2回計測の平均です。個別値も括弧内に併記しました(ばらつきが小さくないため)。

開くのは互角——むしろEmEditorのほうがわずかに速い。差がつくのは、その後の全部です。

この比較が成り立つ条件 — 10GB程度なら、EmEditor のほうが速い

先に、この記事の射程をはっきりさせておきます。

今回のテストPCはメモリ16GBです。48GBのファイルは、メモリに入りません。 上の数字は、すべてその条件で出たものです。

10GB程度——つまりメモリに収まるサイズでは、検索も置換も EmEditor のほうが格段に速く動きます。
メモリを多く積んだPCなら、EmEditor はかなり巨大なファイルでも高速です。

EmEditor は高機能で、普通の「巨大ファイル」に対しては十二分な性能を持つ、良いソフトです。
マクロ、CSV編集、正規表現の細かな制御、プラグイン——編集機能の豊富さでは比べるまでもありません。

UwView Pro(Edit) が有利になるのは、メモリに入らないサイズ——それより先の領域だけです。
そこだけのために作った道具であって、エディタとしての優劣の話ではありません。

「10GBのログを毎日開く」なら EmEditor をおすすめします。
この記事が意味を持つのは、扱うファイルが搭載メモリを超えたときです。

検証環境

項目 内容
PC HP Spectre x360(前回と同一機)
OS Windows 11 Home(x64)
CPU Intel Core i7-1165G7 2.80GHz(4コア8スレッド)
メモリ 16GB
ストレージ 内蔵SSD
テストデータ OpenStreetMap 日本
ファイル容量 約48GB(前回と同一ファイル)
行数 約8.92億行
文字コード UTF-8
検索文字列 「東京」
EmEditor Professional 64-bit v26.2.5(前回と同じ)
UwView Pro(Edit) v1.3.3(計測時のビルド名は UwEditor Pro)

両製品とも同じPC・同じSSD・同じファイルです。

1. 開く — ここは互角

EmEditor 103.6秒(116.8秒と90.4秒の平均)/ UwView Pro(Edit) 107.1秒。

この項目だけは、EmEditor のほうがわずかに速いという結果でした。

前回の記事にも書いたとおり、初回オープンで劇的な差は出ません。どちらも48GBを物理的に読む必要があるからです。ここで「圧倒的に速い」と書くつもりはありません。

差が出るのは2回目以降で、UwView Pro(Edit) は圧縮索引(.uwvz)を保存するので、次に開くときは瞬時です。ただし今回の主題はそこではありません。

2. 検索 — 245.3秒 が 23.9秒 に

「東京」の全文検索で 94,979行がヒットします。この件数は両製品で一致しました(同じ問いに、同じ答えを返しているということです)。

時間
EmEditor(1回目 / 2回目) 245.3 秒 / 144 秒 → 平均 194.7 秒
UwView Pro(Edit) 23.9 秒

約8倍。 3分待つか、24秒待つか。1回なら誤差ですが、調査は検索を何十回も繰り返す作業です。

この差には、並列度の違いが含まれています

数字の意味を正確にしておきます。この8倍は、アルゴリズムだけの差ではありません。

EmEditor 側はスレッド数を 8 に設定して実行しました。ただし実際には 1スレッドで動作していたように見えました。
メモリ量とファイルサイズを見て、自動的にそう判断したのだと思われます。UwView Pro(Edit) は8スレッドで動いています。

つまりこの差は、同じ条件下で実際に使われた並列度の違いを含んでいます。
メモリに余裕のある環境なら、EmEditor 側も並列で動き、差は縮むはずです。

これは EmEditor の欠陥ではなく、16GBのメモリで48GBを扱うという条件が課した制約です。
そしてこの記事は、まさにその条件についての記事です。

EmEditor 側は1回目と2回目で 245.3秒 → 144秒 と大きく縮んでいます(OSのファイルキャッシュが効いたと思われます)。
速いほうの144秒と比べても、UwView Pro(Edit) は6倍です。

理由は前回と同じで、UwView Pro(Edit) が読んでいるのは生の48GBではなく圧縮索引だからです。読むバイト数が少なければ、それだけ速く終わります。

3. 置換 — 257秒 が 35.9秒 に

「東京」を「Tokyo」に全置換します。

時間
EmEditor(1回目 / 2回目) 257 秒 / 164 秒 → 平均 210.5 秒
UwView Pro(Edit) 35.9 秒

約6倍。 速いほうの164秒と比べても4.6倍です。

4. 途中保存 — 「作業を中断できるか」という問題

ここが、この記事でいちばん実務に効く差です。

巨大ファイルの編集は、一発では終わりません。置換して、確認して、また直して——その途中で何度も保存したい。
昼休みに入るとき、別の作業に移るとき、そして単純に「ここまでを失いたくない」とき。

普通のエディタは、その1回の保存でファイル全体を書き直します。 48GBの1箇所を直しただけでも、48GBを書き出す。
今回の計測では、EmEditor の保存に 31分かかりました(0:17 開始 → 0:48 終了)。

これは「保存が遅い」という話ではありません。途中保存が事実上できない=作業を中断できないということです。
31分かかる保存を、作業の区切りごとに挟むことはできません。
3回保存すれば、それだけで1時間半が保存に消えます。
48GBの編集を、一度も保存せずに最後までやり切るしかない。途中で落ちれば、全部消えます。

UwView Pro(Edit) の途中保存は、実測 0秒(押した瞬間に完了)です。

理由は非破壊オーバーレイ編集にあります。.uwvz(圧縮索引)は不変のまま、
編集の差分だけを .ewvz に積んでいく。書き出すのは差分だけなので、元ファイルの大きさに関係なく一瞬で終わります。
別の検証では、10.09GBのファイルに21,994箇所の変更を加えて、
差分ファイルは 3.7MB(元の0.037%)でした。

しかも .ewvz は編集中つねにディスクにあります。保存を押す前に落ちても、編集は残っています。

ここでいう「0秒」は、作業途中の保存のことです

編集結果を1つのファイルとして書き出す——.uwvz と .ewvz から新しい .uwvz を再構成する処理は別で、
こちらは当然サイズなりの時間がかかります。次の章がそれです。

5. 最終的な書き出し — 31分 が 1分33秒 に

作業が終わったら、編集結果を1つのファイルにまとめます。UwView Pro(Edit) は
.uwvz(不変の索引)と .ewvz(編集差分)から、新しい .uwvz を1パスで再構成します。

時間
EmEditor(ファイル全体の書き直し) 1,860 秒(31分)
UwView Pro(Edit)(.uwvz の再構成) 93 秒(1分33秒)

約20倍。

EmEditor 側にとっては、これは「途中保存」と同じ処理です。途中も最終も、毎回48GBを書き直す。
UwView Pro(Edit) は途中を0秒で済ませたうえで、最終の1回だけ1分33秒を払います。

速い理由は単純で、書き出しているのが圧縮された索引だからです。生の48GBではありません。

なお、前回・前々回の記事で「最終書き出しの時間は別途計測して出します」と書きました。これがその数字です。

2日続けて直すと、どうなるか

巨大ファイルの編集は、一日で終わりません。翌日また同じファイルを開くところまで含めて見ます。

1日目 — 開いて、検索・置換して、保存する

EmEditor UwView Pro(Edit)
開く 103.6 秒 107.1 秒
検索・置換 405.2 秒 59.8 秒
保存(作業を中断するための) 1,860 秒(31分) 0 秒
合計 約 39.5 分 約 2.8 分

約14倍。 UwView Pro(Edit) 側に「保存」の時間がありません。差分を書くだけだからです。

2日目 — 同じファイルを開き直して、続きを直し、書き出す

EmEditor UwView Pro(Edit)
開き直す 103.6 秒 計測不能(ミリ秒単位)
検索・置換 405.2 秒 59.8 秒
1つのファイルに書き出す 1,860 秒(31分) 93 秒(1分33秒)
合計 約 39.5 分 約 2.5 分

EmEditor は、2日目もまったく同じ39.5分を払います。 48GBをもう一度読み直し、もう一度書き直すからです。

UwView Pro(Edit) の2日目は「開く」が消えます。 索引(.uwvz)が保存されているので、開き直しはストップウォッチでは測れませんでした(ミリ秒単位)。
代わりに、最後の書き出しで1分33秒を1回だけ払います。

この2枚の表が示していること

  • 1日目に効くのは「保存」——差分だけを書くので0秒
  • 2日目に効くのは「開く」——索引を保存してあるので、読み直しがない

設計は2つあって、効く場面が違います。 そして EmEditor 側は、どちらの日も同じ39.5分です。
3日目、4日目と続けば、差はそのぶん開いていきます。

※繰り返しますが、これはメモリ16GBのPCで48GBを扱った場合の数字です。
 メモリに収まるサイズなら、EmEditor のほうが速く終わります。

正直に書いておくこと

  • 編集機能は UwView Pro V1.4.0 以降の Edit Upgrade ライセンスで使えます。画面には計測時のビルド名 UwEditor Pro が出ます
  • 編集機能の豊富さではEmEditorが上です。 マクロ、CSV編集、正規表現の細かな制御、プラグイン——
    UwView Pro(Edit) は「巨大ファイルを壊さずに直す」ことに絞った道具で、EmEditorの代わりになるものではありません
  • 10GB程度(メモリに収まるサイズ)では、EmEditor のほうが検索も置換も格段に速いです。
    今回の結果は「メモリ16GBのPCで48GBを扱った場合」のものです。この条件を外すと、順位は入れ替わります
  • 検索の差には並列度の違いが含まれます。 EmEditor はスレッド数8を指定しても1スレッドで動作していたように見えました
    (メモリとファイルサイズによる自動判断と思われます)。UwView Pro(Edit) は8スレッドです。
    メモリに余裕があれば、この差は縮むはずです
  • EmEditor 側は2回計測し、平均と個別値の両方を出しました。1回目と2回目で最大1.7倍の差が出ています
    (OSのファイルキャッシュの影響と思われます)。速いほうの値と比べても差は残ります
  • UwView Pro(Edit) 側は各1回です
  • EmEditor の保存時間(31分)は、開始時刻と完了時刻の差から算出しました
  • 2日目の数値のうち、「開き直す」以外は1日目と同じ実測値を再掲しています(同じ操作のため)。
    UwView Pro(Edit) の開き直しは速すぎて計測できませんでした(ミリ秒単位)
  • 今回の比較は「巨大ファイルを直して保存する」という一点についてのものです。 日常の編集作業全般の話ではありません
  • ファイルを開く速度はほぼ互角で、ここに優位はありません

UwView Pro との関係

見る・検索するは View ライセンス、この記事の編集は Edit Upgrade を View に追加して使います(価格は製品ページ)。


タイトルとURLをコピーしました