巨大ファイル対応テキストエディターの速度比較
/カテゴリ: 日記/作成者: Yutaka Emura2009年4月に、テキストエディターの速度比較を公表しました。しかしその後、多くのテキストエディターが大幅な更新と改善を経ています。そのため、私共は再び速度テストを実施することにしました。
今回のテストでは、巨大ファイルをサポートすることで知られる7つのテキストエディター (EmEditorを含む) を選び、ファイルのオープン、検索、置換、並べ替え、保存、ファイルから検索のカテゴリで評価しました。テストの結果、EmEditorはすべてのテストされたカテゴリで、他のエディタに対して2倍から187倍の差で優れた性能を発揮しました。
詳細な結果は、テキストエディターの速度比較 (PDF) でご確認いただけます。
免責事項: すべてのアプリをできる限り正確にテストしましたが、すべての速度はテストされたコンピュータ、ファイル、その他の要因に依存します。すべての速度、および失敗したテスト(クラッシュ、不完全な結果を含む)は、将来のアプリのバージョンで改善または解決される可能性があります。これらのアプリをご自身でインストールして比較検討されることをお勧めします。また、どのアプリを選ぶかを決定する際には、機能セット、安定性、使いやすさ、価格、デザインなどの他の要因も考慮されるべきです。
- テキストエディターの速度比較 (PDF)
更新: テキストエディターの速度比較 (PDF) を日本語に訳しました。
TECH+ EXPO for セキュリティ 2023 にて講演のお知らせ
/カテゴリ: メディア紹介記事/作成者: Yutaka Emura2023年9月12日から15日に開催される TECH+ EXPO for セキュリティ 2023 にて、「EmEditorの更新機能を利用したインシデントから学んだ教訓」という題目で、江村豊が講演いたします。
詳しくは、
をご覧ください。
EmEditor v22.5.2 を公開しました。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.5.2 を公開いたしました。
v22.5.2 は、次の不具合修正と改善を含みます。
- ツール チップ上の [変換] に関する不具合を修正しました。
- ファンクション バーに関する不具合を修正しました。
- 様々なクラッシュの可能性を修正しました。
主な変更点、画面図など、詳しくは、「Version 22.5 の新機能」をご覧ください。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。
EmEditor v22.5.1 を公開しました。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.5.1 を公開いたしました。
v22.5.1 は、次の不具合修正と改善を含みます。
- ツール チップ上の [すべて変換] に関する不具合を修正しました。
- ファンクション バーに関する不具合を修正しました。
- ファイル変更通知に関する不具合を修正しました。
- 様々なクラッシュの可能性を修正しました。
主な変更点、画面図など、詳しくは、「Version 22.5 の新機能」をご覧ください。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。
ライセンスの価格改定と、永久ライセンスの販売終了について
/カテゴリ: 一般/作成者: Yutaka Emura永久ライセンス
私共は、永久ライセンスを販売しています。他社が販売する「パーペチュアル (永続)」ライセンスと異なり、私共の永久ライセンスには、将来のアップデートを無期限に受け取る権利が含まれています。未来を予測することは困難ですが、私共は長期間にわたって EmEditor の開発とサポートを行いたいと考えています。私共の家族や従業員は EmEditor の売上に依存しており、売上は将来世代にも続く必要があります。そのため、2024年 8月 28日に永久ライセンスの販売を終了します。2024年 8月 28日以降、永久ライセンスは販売されません。したがって、もし今後も長期間にわたって EmEditor Professional を使用される場合には、今のうちに永久ライセンスを購入すると、将来の経費を節約することができます。また、2023年 8月 30日に永久ライセンスの価格を現在の 36,400円 (税別) から 53,200円 (税別) に引き上げます。
年間サブスクリプション
2024年 8月 28日に、2年目以降の年間サブスクリプションの価格を現在の初年度の 50% から 75% に引き上げます。サブスクリプション ライセンスをお持ちの場合、2024年 8月 28日までに現在の価格でサブスクリプションを更新することができ、有効期限は変更されません。本ウェブサイトからオンラインでサブスクリプション ライセンスを購入されている場合、前回の購入から30日以上経過していれば、1年間の更新を購入することができます。複数年の更新を購入されたい場合は、リンクをお送りしますので、お問い合わせください。販売代理店からサブスクリプションを購入されている場合は、販売代理店にお問い合わせください。
今後も EmEditor の開発に集中し、より良いソフトウェアの開発とサポートの充実に全力を注いでいく所存です。何卒ご了承賜りますようお願い申し上げます。
EmEditor v22.5.0 を公開しました (テクニカル レビューを含む)。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.5.0 を公開いたしました。
最近、私は第13世代の Intel Core i7-13700 を搭載したPCを購入しました。第12世代の Core プロセッサー以降、Intel はパフォーマンスのための Pコアと効率のための Eコアを組み合わせたハイブリッド アーキテクチャを導入しました。新しいアーキテクチャは興味深いもので、Pコアは Eコアよりも高速に動作します。EmEditor の以前のバージョンでは、すべてのスレッドが同じ速度で動作すると仮定していました。しかし、Pコアのスレッドが Eコアのスレッドよりも高速に動作すると、Pコアのスレッドは Eコアのスレッドよりも早くタスクを終了し、Eコアのスレッドがタスクを終了するまで待つ必要があります。念のためですが、Eコアと Pコアがなくてもスレッドの速度は変動することがあります。例えば、スレッドがバックグラウンド アプリやシステム プロセスによって中断されると、そのスレッドは他のスレッドよりも遅くなります。それでも、Pコアと Eコアの存在は状況を悪化させる可能性があります。
この状況を克服するために、v22.5 ではコードを最適化して、動的にスレッドの負荷分散を管理します。次の画面図は、巨大ファイルで正規表現を検索している間の CPU 使用率を示しています。最適化後、タスク終了時に全体的なCPU使用率が急激に下がっているのがわかります。


v22.5 の開発中、私共はコードを最適化して多くのコマンドの速度を向上させるために多くの時間を費やしました。例えば、マルチスレッディングによって [コピー] コマンドの速度が 1.49 倍に高速化されました。リファクタリングと最適化中にコードを見直す機会がありました。古いバージョンでは、CPU が AVX-512 命令セットをサポートしていない場合、誤って SHA 命令セットが有効化されませんでした。v22.5 ではこのバグを修正し、AVX-512 をサポートしていない多くの CPU でも [重複行の削除] コマンドなどの複数のコマンドの速度が向上しました。今後もコードを見直し、速度向上のために最適化していく予定です。
新しい PC を使って Visual C++ でコードをビルドした時、ビルドが非常に遅いので、私は落胆しました。実はコードをビルドするときにメモリ使用率が 100% に達していたのです。これは、物理メモリ (RAM) が 16GB しか利用できなかったためですが、CPU には 24 個の論理コアがあり、Visual C++ は 24 個のスレッドを使用してコードをビルドしていました。Visual C++ のオプションでスレッド数を 24 から 7 に調整すると、コンパイラはコードをより速くビルドできました。同様に、EmEditor は既定の 24 個のスレッドを使用するよりも 3 個だけのスレッドを使用した方が速くなりました。物理メモリを 16GB から 80GB に増やすと、両方のアプリは 24 個のスレッドで最高速になりました。したがって、論理コア数が多い最新の CPU をお持ちでしたら、物理メモリを増やすことを強くお勧めします。例えば、CPU に 24 個の論理コアが存在する場合、PC には少なくとも 32GB の物理メモリを推奨します。メモリが充分でない場合は、スレッド数を調整する必要があるかもしれません。これは EmEditor のカスタマイズ ダイアログ ボックスの [高度] ページで指定できます。v22.5 では、論理コアの数がこの GB 値を超える場合、既定のスレッド数を物理メモリの最も近い GB 値に調整しました。
あるお客様からファイル変更検知の改善要求をいただきました。古いバージョンでは既定で5秒ごとに現在のファイルサイズとタイムスタンプをチェックし、ファイルが変更されたと判断すると、メッセージボックス「別のプログラムによってファイルが変更されました。変更を反映して再読み込みしますか?」が表示されます。v22.5では、Windows API を使用して、より効率的にファイル変更を検知します。
別のお客様からは、行番号の左端をクリックしてブックマークの設定/解除を行う機能が欲しいとのご要望がありました。古いバージョンでは、[ブックマークを設定/解除] コマンドを選択するか、Ctrl+F2 を押してブックマークのオンとオフをり替える必要がありました。確かに、行番号をクリックする方が簡単ですし、テキスト エディターの中でもこの動作が一般的になってきているので、本機能を採用しました。
江村誠は [シンボルを検索] コマンドで言語サーバー プロトコルを使用する機能と JSON 言語サーバーを使用する機能を追加しました。また、コミット リスト プラグインを改善し、[プル] ボタンと [プッシュ] ボタンに、コミット数のインジケーターを追加しました。
近い将来、Windows 7、8.1、および Server 2008 R2 のサポートを終了する予定です。Microsoft はすでにこれらのバージョンの Windows のサポートを停止しています。セキュリティ上の理由から、これらの古いバージョンの Windows の使用は強くお勧めしません。また、EmEditor の 32ビット版の開発も終了する予定です。私共は、EmEditor の 64ビット版の開発およびテストにリソースを集中させたいと考えています。
私共は多くの皆様に EmEditor を使用していただきたいと考えており、EmEditor の価格はできるだけ低く抑えています。年間サブスクリプションの初年度価格、40米ドル(以前は 39.99米ドル)は、年間サブスクリプションのライセンスを開始して以来、1セント以上変更していません (日本円価格は、外国為替により変動があります)。しかし、私共は EmEditor Professional の違法使用は許容しません。EmEditor Professional の「クラック」キーを販売または提供しているウェブサイトがいくつかあります。これらは違法なサイトであり、これらのサイトから入手したキーは私共からサポートされることありません。私は時々、実際には有効なライセンスを持っていないにもかかわらず、平気で EmEditor Professional についての技術的な質問をされることがあります。私は有効なライセンスを購入したお客様をサポートするために時間を使いたいと思っています。これらの違法なサイトを根絶し、さらに重要なこととして、EmEditor の開発とお客様のサポートを継続するため、私共はライセンスの正当性を弊社のサーバー上のデータベースでチェックするコードを追加し、ライセンスが有効でない場合、そのコードは Professional バージョンの動作を停止させます。このチェックは EmEditor を起動するとすぐに行われるわけではありませんし、EmEditor を起動するたびに行われるわけでもありません。コードの性質と目的上、コードがどのように動作するか詳細は公開しません。ただし、個人情報は送信されず、このチェックはインターネット接続がなくても EmEditor を使用することを妨げません。私共にとってソフトウェアを保護することが重要であり、有効なライセンスを購入したお客様も同様に保護したいと思っています。私共は、お客様がこの背景の理由を理解してくださり、この最小限のライセンスのチェックを受け入れてくださることを願っています。また、ライセンス数の計算方法も参照して、必要充分な数のライセンスを所有しているか確認してください。
別のブログで、ライセンスの価格改定と、永久ライセンスの販売終了についてお知らせいたします。
Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。
今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊
主な変更点、画面図など、詳しくは、「Version 22.5 の新機能」をご覧ください。
さらに本リリースは、v22.5 を開発中の不具合/問題の修正を含みます。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。
EmEditor v22.4.2 を公開しました。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.4.2 を公開いたしました。
v22.4.2 は、次の不具合修正と改善を含みます。
- [ファイルから検索] が 「*.*a」 に一致しない不具合を修正しました。
- [巨大ファイル コントローラー] を使用する時のクラッシュの可能性を修正しました。
- その他のクラッシュの可能性を修正しました。
主な変更点、画面図など、詳しくは、「Version 22.4 の新機能」をご覧ください。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。
EmEditor v22.4.1 を公開しました。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.4.1 を公開いたしました。
v22.4.1 は、次の不具合修正と改善を含みます。
- Shift を押しながらマウス ホイールを回転する場合の水平方向の変化量を調節しました。
- \J 置換表現を含む [ファイルから置換] の動作を修正しました。
- [ファイルから置換] がステータス バーに置換数表示しなかった不具合を修正しました。
- 箱型選択のドラッグ アンド ドロップでコピーまたは移動ができるようになりました。
- 巨大 CSV ファイルで、[列の削除]、[値をクリア]、その他の変換コマンドで異常終了する可能性がある不具合を修正しました。
- [元に戻す] 後の CSV 列の調節に関する問題を修正しました。
- [出力方法] が [直接開く] 場合、[ファイルから検索] コマンドで異常終了する可能性がある不具合を修正しました。
- [水平に分割] オプションが選択されていない場合、[比較] コマンドでフリーズする可能性がある不具合を修正しました。新バージョンは、[水平に分割] オプションが選択されていない場合、変更行の文字毎の強調表示は行わなくなりました。
- CSV モードで行ヘディングが有効な場合の表示上の問題を修正しました。
- CSV セル選択モードで行ヘディングが有効な場合の Left キー、Home キーの移動を改善しました。
主な変更点、画面図など、詳しくは、「Version 22.4 の新機能」をご覧ください。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。
EmEditor v22.4.0 を公開しました (テクニカル レビューを含む)。
/カテゴリ: EmEditor 本体/作成者: Yutaka Emura本日、EmEditor v22.4.0 を公開いたしました。
新バージョン (v22.4) では、低速ドライブまたはネットワーク ドライブから巨大ファイルを開くときの動作とステータス メッセージを改善しました。以前のバージョンは、高速ハード ドライブまたは SSD から巨大ファイルを開くために最適化されていました。ファイルの内容を読み取るために大きなサイズのメモリ ブロックが割り当てられ、そのメモリ ブロックの処理中は、ステータス バーまたは巨大ファイル コントローラ上に進捗状況を更新しませんでした。この方法は、高速ハード ドライブまたは SSD から巨大ファイルを読み取る場合にはうまく動作しますが、低速ドライブやネットワーク ドライブからファイルを読み込む場合には、プログラムがフリーズして応答していないように見えることがありました。新バージョン v22.4 では、ファイルを開いた時、まず最初の 1MB を読み取るのにかかる時間を測定します。そして、読み取り速度を推測して、ステータス バーと巨大ファイル コントローラーの進行状況を、何バイト毎に更新するべきかを推測します。この新しいアルゴリズムにより、EmEditor は、高速ドライブの高速読み取り速度を維持しながら、低速ドライブの進捗状況をより頻繁に表示できるようになりました。
v22.4 では [ファイルから検索] の動作速度を向上させ、[ファイルから検索] を中止するときの応答時間も改善しました。これは、最適化されたマルチスレッド コードを使用して全体の速度を向上させながら、検索中止の要求に応答するために、ファイル内を複数のゾーンに分けて検索することで可能になりました。私共のテストでは、[ファイル内検索] が v22.3 と比較して 2.76 倍高速になりました。v22.4 では、[列の削除] (CSV)、[値をクリア] (CSV)、[ランダムに並べ替え]、Base64 エンコード/デコードのコマンドなどのコマンドの速度も向上しています。[値をクリア] (CSV) コマンドは、CSV セル選択モードで CSV セルまたは列を選択しているときに Delete キーを押すと、実行されます。これは、CSV の編集でよく使う操作ですが、このような操作を高速化したことにより、皆様の生産性が向上することを願っています。[ランダムに並べ替え] コマンドは、高速擬似乱数生成器 (Xoshiro-cpp) を使用することにより、さらに高速化することができました。
あるお客様は、[検索] ダイアログ ボックスに検索文字列を入力している時、一致した文字列の強調表示を更新する機能を要求されました。本機能は他のエディターでも使用していたので、v22.4 でも追加することにしました。本機能は既定ではオフになっていますが、[検索] ドロップ ダウン リスト ボックスの横にある [>] ボタンをクリックすると表示されるメニューで [自動ハイライト] を選択すると有効にできます。このオプションがオンの場合、[検索]/[置換]/[ファイル内検索]/[ファイルから置換] ダイアログ ボックスまたは [検索] ツール バーを表示している間のみ、検索の強調表示がオンになります。本機能は EmEditor Professional および EmEditor Free で利用できます。
他の複数のお客様は、複数行のテキストを選択し、エディタ ウィンドウの下端を超えてマウスをドラッグする (マウスの左ボタンを押しながらマウスを動かす) ときの垂直スクロールの改善を求められていました。下にスクロールすることを望まれるユーザーと、文書の最下部までジャンプすることを望まれるユーザーがいました。また、一部のお客様は、例えば、300万行の文書の 100万行目から 200万行目までを選択したいといった場合のように、文書の中間の多数の行を選択することを望まれます。これらすべてのユーザーのご要望にお応えするために、v22.4 では、以下で説明するように、マウスをドラッグするときの新しいスクロール モードと、新しいマウス ポインタの形状が導入されました。
まず、v22.4 では、マウスをエディタ ウィンドウの端を越えてドラッグすると、マウス ポインタの形状が変わります。マウス ポインタをウィンドウの端から遠ざけるほど、スクロール速度は速くなります。さらに遠ざけると、スクロールはスクロール ボックス (サム) をドラッグしているかのように動作します。このモードでは、選択範囲の終点をドキュメント内の任意の位置に簡単に移動できます。既定では、このモードに入るとミニマップが表示されます。マウスの左ボタンを押したまま ESC キーを押すと、通常の選択モードに戻ります。この機能は EmEditor Professional および EmEditor Free で利用できます。
江村誠は、言語サーバー プロトコル (LSP) を使用した構文チェック機能を追加しました。この新機能は、JavaScript や他の言語でも利用できるため、JavaScript で記述されたマクロの構文もチェックできるようになりました。本機能は EmEditor Professional でのみ使用できます。
また、彼は、コミットをチェックアウトして新しいブランチを作成する機能を追加することで、CommitList プラグインも改良しました。本機能も EmEditor Professional でのみ使用できます。
さらに、ランダムな文書とパラメータを使用して EmEditor の機能をテストするための新しいテスト スクリプトを作成し、[列の分割] コマンドなどで、既にいくつかのバグを発見しています。このようにして未知のバグを探して修正しています。
以前「ベータ」と呼ばれていたバージョンは、これからは「プレビュー」バージョンと呼ぶことにしました。これは、「ベータ」と聞くと不安定だと思われる方が多いためですが、継続的にバグを修正しているため、実際には、正式版よりもベータ版の方が安定していることが多いのです。また、より多くのユーザーに新バージョンの新機能を試していただきたいため、新バージョンは「ベータ」ではなく「プレビュー」と呼ぶべきであると考えました。できれば「プレビュー」バージョンを含めて常に最新版に更新してお使いになることを推奨いたします。
Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。
今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊
主な変更点、画面図など、詳しくは、「Version 22.4 の新機能」をご覧ください。
さらに本リリースは、v22.4 を開発中の不具合/問題の修正を含みます。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install Emurasoft.EmEditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。