3GBでは負けて、50GBでは崖だった — EmEditor と UwView Pro+Edit Upgrade を16GBメモリのノートPCで実測

技術解説

先に負けから言います。置換の速さでは、EmEditor が7.0倍高速でした。

EmEditor は、巨大ファイルを扱える Windows の定番テキストエディタです(公称では16TBまで対応)。私が開発している UwView Pro の編集機能・Edit Upgrade(以下 UVP+Edit)と、同じノートPCで「開く→置換2回→保存して閉じる」を競争させてみました。

測定条件

  • 環境: メモリ16GBのWindowsノートPC(同一マシン・同一ファイル)
  • 作業: ファイルを開く → 置換2回(東京→Tokyo大阪→Osaka)→ 保存して閉じる、を1セット
  • 比較する私は UwView 側の開発者です。作者が測っている数字として割り引いてお読みください

先にお断りしておくと、メモリ16GBのノートPCで50GBのファイルを扱うこと自体が特殊な条件です。この点は後段でまとめて書きます。

結果1: 1回の作業の総時間

データ 工程 EmEditor UVP+Edit
3GB・1億行 開く 5.0秒 4.6秒
置換2回 0.9秒(0.5+0.4) 6.3秒(3.4+2.9)
保存して閉じる 5.1秒 3.2秒
総時間 11.0秒 14.1秒
10GB・1億行 開く 14.0秒 29.3秒
置換2回 28.6秒(13.8+14.8) 12.41秒(8.31+4.1)
保存して閉じる 187.3秒 10.2秒
総時間 229.9秒 51.91秒
50GB・8.9億行 開く 301.1秒 76.1秒
置換2回 11分12秒(371.1秒+301.1秒※) 47.0秒(32.7+14.3)
保存して閉じる 31分 49.9秒
総時間 47分13秒 2分53秒(173.0秒)

※ 50GBのEmEditorの2回目の置換は、最初の試行では13分を経過してもハング状態のまま完了しませんでした。PCを再起動して計り直した値が301.1秒です。ハングした試行の時間は総時間に含めていません。置換2回の合計は672.2秒対47.0秒で、UVP+Edit が約14.3倍高速でした。

3GBは完敗、10GBで逆転、50GBで崖

3GBでは、UVP+Edit の完敗です。置換単体は0.9秒対6.3秒で EmEditorが7.0倍高速。総時間でも11.0秒対14.1秒で負けました。メモリに収まる規模のファイルなら、EmEditorの置換エンジンは速い。これは素直に認めます。

10GBで様子が変わります。EmEditorは開く・置換までは立派ですが、「保存して閉じる」に187.3秒。総時間は229.9秒対51.91秒で逆転しました。

50GBでは、逆転ではなく崖でした。EmEditorは開くのに5分、1回目の置換に6分。2回目の置換は最初の試行では13分たってもハング状態で終わらず、PCを再起動して計り直したところ301.1秒。保存して閉じるのに31分——総時間47分13秒。UVP+Edit は2分53秒で同じ作業を終えています。

境界はおそらく、メモリの16GBです。ファイルがメモリに収まるうちは高速なエディタも、収まらなくなった瞬間にスワップとディスクI/Oの世界に入り、勝負の性質が変わる——というのが外側から見た推定です(EmEditorの内部実装を検証したわけではありません)。UVP+Edit はもともとファイルをメモリに載せない設計(インデックス+非破壊編集)なので、50GBでも挙動が変わりません。

EmEditor の名誉のために — これは特殊条件のテストです

強調しておきたいのは、この結果は「メモリ16GBのノートPC」という条件での話だということです。

  • 16GBのノートPCで50GBのログを扱う状況は、普通はありません。50GB級を日常的に扱う人は、64GB・128GBを積んだデスクトップやワークステーションを使うはずで、潤沢なメモリの環境ではこの結果は変わり得ます
  • EmEditor の置換エンジン単体の速さは本物です。メモリに収まる規模(今回なら3GB)では、置換7.0倍・総合でも UVP+Edit より速い
  • EmEditor は長年の実績がある定番エディタで、本記事はその「巨大ファイル対応」の公称を否定するものではありません。「16GBしかないマシンに50GBが降ってきたとき、どうなるか」という特殊な状況を測ったものです

ただし、その特殊な状況は現場ではたまに起きます。障害調査で他システムのログが降ってくるとき、手元にあるのはいつものノートPCです。そのときのための実測、とお読みください。

結果2: 同じ作業を5日間続けたら

同じ置換2回を毎日1セット、5日間続けるシナリオを試算しました。

データ EmEditor UVP+Edit 5日間の短縮
3GB (5.0+0.9+5.1秒)×5日=55.0秒 4.6+6.3秒×5日+3.2=39.3秒 15.7秒(約1.4倍)
10GB (14.0+28.6+187.3秒)×5日=19分09.5秒 29.3+12.41秒×5日+10.2=1分41.55秒 17分27.95秒(約11.3倍)
50GB (301.1+371.1+301.1+1,860秒)×5日=3時間56分07秒 76.1+47.0秒×5日+49.9=6分01秒 約3時間50分(約39.2倍)

仕組みを正確に書きます。 どちらも毎日「開いて作業して閉じる」運用で、UVP+Edit が開きっぱなしなわけではありません。UVP+Edit は閉じるときに編集結果を小さな作業ファイル(.ewvz)へ書き出し、翌日はそれを読み込んで開き直します。50GBの本体を書き換えないため、2日目以降の close/open はほぼ0秒——試算では初日の Open と最終日の Close だけを実測値で計上しています。一方 EmEditor は保存のたびにファイル本体を書き出すため、毎日フルコストの Open/Close がかかる、という設計の差です。

正直に書いておくこと

  • 1マシン・1ファイル系列・置換2回という単純作業での実測です。複雑な編集・マクロ・正規表現置換では別の結果になり得ます
  • 50GBのEmEditorの2回目の置換は、最初の試行が13分でハング状態になったためPCを再起動して計り直した値(301.1秒)です。ハングした試行の時間は総時間に含めていません
  • 「なぜ遅くなるか」の段落は外部からの推定で、EmEditor の内部実装は検証していません
  • 自社製品を作者が測った比較です。同条件で追試された方がいれば、結果に応じて本記事を修正します

使っている道具

UwView Pro は発売中です(Windows・macOS・Linux、1ライセンスで全OS。買い切り/月額。14日間の無料試用あり——編集機能も使えます)。巨大ファイルの非破壊編集は Edit Upgrade で追加できます。一度きりの閲覧なら無料版 UwView でも十分です。

リンク

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