13

Ivy を介して依存関係を解決/公開するために使用されるため、ビルド プロセス内で Java を使用します。

Java 6 Update 26 を Version 7 Update 7 にアップグレードしようとするまで、問題はありませんでした。2 年間使用していませんでした。 10分!!

PC では他に何も変更されていないため、私たちの懸念の絶対的な標的となっています。

Java のバージョン 7 がこのような速度の違いを生む理由について、何か理由を知っている人はいますか?

更新: ビルド プロセスは NAnt ベースであるため、コマンド (DOS) ウィンドウで実行される NAnt スクリプトから Java.exe が呼び出されます。

4

3 に答える 3

2

JDK 7u7 を使用していますが、いくつかのVM オプションを調整することでパフォーマンスが向上したことに気付きました。

コンパイル時間を短縮するために、G1GC と AgressiveOpts を試すことができます。

エディターで使用する設定に従います。

-Xss8m 
-Xmn256m 
-Xms512m 
-Xmx1024m 
-XX:PermSize=256m 
-XX:MaxPermSize=512m 
-XX:+UseG1GC 
-XX:+OptimizeStringConcat 
-XX:+UseStringCache 
-XX:+AggressiveOpts

各オプションの説明は、VM オプションのリンクにあります。

お役に立てば幸いです。

于 2012-10-09T18:04:41.883 に答える
1

まず、JDK6を削除しましたか、それともそのままにしましたか?JDK_HOMEおよび指定されているその他の場所をチェックして、実際にJDK7を使用していることを確認してください。XPコンソールタイプjava -versionで、それが期待どおりであることを確認します。(コマンドプロンプトを閉じる/再度開いて、Win GUIで変更を取得します。)

実行しているXPのバージョン(64ビットまたは32ビット)は記載されていません。適切なJDK環境がマシン上にあることを確認してください。(正確に何が実行されているかに応じて、これは具体的な違いを生む可能性があります。また、デバッグの最善の策は、以前と同じに保つことです-変数を減らします。)

問題をトラブルシューティングし、絞り込みます。アップグレード後、Eclipseのインストールのパフォーマンスは遅くなりますか?(Eclipse自体はJVMで実行されます。これは適切なベースラインです。)Eclipseは、テスト時に正しいJDKを指していますか?他のJavaツールを試して、パフォーマンスに違いがあるかどうかを確認してください。ビルド内のさまざまなコントロールポイントでのブレークポイントとロギング、およびJava実行可能ファイルはすべて友だちです。

Nantは.NETベースなので、実際に起動されるJavaプロセスを見たことがありますか?あなたのアイビーディストリビューションは本当に古いですか?

とはいえ、これがJavaの問題であり、Windowsボックスの構成上の問題ではないとは信じがたいです。とにかく、他のマシンで試してみましたか?

于 2012-10-09T01:49:08.577 に答える
1

私の経験では、Java 7は、速度と互換性の点で大きく後退しました。コンパイルだけでなく、JREの実行も遅くなることがわかりました。

また、Eclipseの実行で大きな問題が発生しました(はい、アップデート7を使用しました)。

そして、私の観点からは、Java7には必要なものは何もありません。私はForkJoinPoolが好きで、Java6のアドオンライブラリとして入手できます。

たぶんJava8の方が良いでしょう。

于 2012-10-09T02:12:51.563 に答える