ベストアンサー1
Eclipse の速度に最も影響を与える 3 つの要素は次のとおりです。
Indigo (3.7.2) SR2 の「同じ」ワークスペースは 4 秒で読み込まれ、Kepler SR2 (4.3.2) では 7 秒、Luna (4.4.0) では 10 秒で読み込まれます。すべて Java EE バンドルです。新しいバージョンではバンドルされているプラグインが増えていますが、それでも傾向は明らかです。(「同じ」ワークスペースとは、同じ (追加でインストールされた) プラグインが使用され、バージョン管理からチェックアウトされた同じプロジェクトを意味します)。
最新の JDK (執筆時点では Java 14 ですが、Eclipse プロジェクトで他の任意の JDK (1.4.2、1.5、1.6 など) を使用してコンパイルすることは可能です)で起動します。
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
2024年:モニッシュ・センメモコメントJDK22(エクリプス テムリン™
jvm.dll
)は、<java_home>/bin/server/
-vm <java_home>/bin/server/jvm.dll
eclipse.iniの設定(完全なeclipse.iniに関するこの質問)
-Xms512m -Xmx4096m [...]
引数Xmx
は、Eclipse が取得するメモリの量です (簡単に言えば)。 の場合-Xmx4g
、4 GiB の RAM などを取得します。
注記:
- jvm.dll を参照すると次のような利点があります。
- スプラッシュスクリーンがすぐに表示されます。
- プロセス リストに java.exe ではなく Eclipse.exe が表示されます。
- ファイアウォール: Eclipse は Java ではなくインターネットへのアクセスを必要とします。
- 特に Windows と Mac におけるウィンドウ管理のブランド化の問題。
バージョン 4.8 (Photon) 以降では、バージョンが上がるごとに着実に速度が向上しました。
メイン プラットフォームはリリースごとに最適化され、読み込みが高速化され、ダーク テーマの機能が増え、Java 開発ツールの新しい Java バージョンの機能が追加されました。
特に、最後の 3 つのバージョンでは、起動時間が大幅に増加しました。最新バージョンの Eclipse 2020-12 では、起動時間が大幅に増加するはずです。私の経験では、新しいバージョンが出るたびに起動がかなり速くなりました。
しかし、Eclipse API の新しい使用方法に従わないプラグインがまだあるため、起動が遅いままです。Eclipse
バージョン 2020-09 以降、最小ランタイム バージョンが Java 11 に変更されたため、少なくともコア システムでは JVM の新しい機能が使用されます。他のプラグインのプロバイダーは、新しい API にアップグレードし、最新の CPU のパワーをフルに活用する必要があります (例: 並行プログラミング モデル)。
参照
- Eclipse に適切な数のスレッドと適切な量のメモリを与える:問題: Eclipse と Eclipse インデクサーがすべてのリソース / CPU % を占有します
新しいバージョンの Java では、起動を改善できる CDS を使用することもできます。これは、JVM 引数に (または同様のもの)
を追加することで実行できます。-XX:+AutoCreateSharedArchive -XX:SharedArchiveFile=classes.jsa
真実:CDS(クラスデータ共有)は、Java アプリケーションの起動時間と消費メモリ量を削減することを目的とした Java 仮想マシン (JVM) の機能です。この機能は、一連のクラスを事前にロードして、同じマシンで実行されている複数の Java 仮想マシン (JVM) インスタンス間で共有できるようにすることで実現します。CDS の背後にある概念は、実行時にメモリにマップできるクラスの共有アーカイブを作成し、クラスのロード プロセスを高速化することです。
CDS は Java 5 (J2SE 5.0) で基本的な形で導入され、その後の Java リリースで徐々に改善されてきました。Dan
が言及している機能-XX:+AutoCreateSharedArchive
、および を介した指定された共有アーカイブ ファイルの使用は-XX:SharedArchiveFile=
、Java 10 以降のバージョンで大幅に強化され、よりアクセスしやすくなりました。Java
12 以降では、最初のアプリケーション実行時に共有アーカイブを自動的に作成する機能 ( を使用-XX:+AutoCreateSharedArchive
) によってプロセスが簡素化され、共有クラス データ アーカイブを作成するために手動介入する必要がなくなり、アプリケーションにとってより有益になります。
Eclipse や同様の Java ベースのアプリケーションを高速化するという観点から、CDS は起動時間の短縮、メモリ使用量の削減、パフォーマンスの向上に役立ちます。
ファイルeclipse.ini
は次のようになります (Java 19 以降の場合)。
-vmargs
-XX:+UseG1GC
-XX:+AutoCreateSharedArchive
-XX:SharedArchiveFile=<path_to_your_archive>/classes.jsa
-Xmx4096m
<path_to_your_archive>
共有アーカイブを保存する適切なパスに置き換えます。JVM は最初の実行時にこのアーカイブを自動的に作成し、その後の起動を高速化するために使用します。
さらに、ロンボクEclipse に がインストールされている場合は、診断 VM オプション を追加して、エージェントで CDS を使用できるようにする必要があります-XX:+AllowArchivingWithJavaAgent
。この場合、 にはeclipse.ini
次のような内容が含まれます。
-vmargs
-XX:+UseG1GC
-XX:+AutoCreateSharedArchive
-XX:SharedArchiveFile=<path_to_your_archive>/classes.jsa
-XX:+UnlockDiagnosticVMOptions
-XX:+AllowArchivingWithJavaAgent
-javaagent:/path/to/the/lombok.jar
-Xmx4096m