1.ただの起動。 反復回数は3000万から500万に削減されますが、これは(JITの場合)10回繰り返されます。
6663
6199
6322
6540
5095
6033
6741
5045
6253
5142
平均= 6003、div = 663
そのようなスプレッドと何かを比較することは可能ですか? まあ、本当にしたい場合は...しかし、さらに進んでみましょう。
2.アプリケーション起動パラメーターは「-server -Xmx1024M -XX:-UseParallelGC -XX:-UseParallelOldGC -XX:+ AggressiveOpts -XX:+ UseBiasedLocking」に設定されます。
5681
4990
5202
4950
5892
5415
5270
5739
5200
5130
平均= 5346、div = 324
3. JVMとして、1.7.0ベータx64が使用されます(x86が揺れています)
4146
3099
3542
3542
3125
3199
3545
3104
3653
3149
平均= 3410、div = 340
4.ツリーをテストするが、ランダムにテストする場合、毎回新しいオブジェクトが必要な理由は明らかではありません。 定数オブジェクトを使用しますが、同時にこれによりボクシング/アンボクシングを回避できます
プライベート最終静的オブジェクトOBJECT = new Object();
ツリーtree = new Tree(r.nextInt()、OBJECT); //最初の要素
tree.add(r.nextInt()、OBJECT);
3310
2960
2795
2980
3293
3002
2803
2785
3047
2798
平均= 2977、div = 197
5.最新のJVMベータx86がダウンロードされました...
2932
2724
3198
2647
2597
2954
2896
2648
2572
2844
平均= 2801、div = 199
6.比較のために、元のトピックの作成者が行ったように、コードからOBJECTを完全に削除します
2855
2679
3083
2566
2517
2953
2634
2640
3108
2681
平均= 2772、div = 213
おわりに
このような小さな改善は、Javaと.NETの両方で利用できると確信しています。 「マイクロテスト」を使用してプラットフォームのパフォーマンスを比較するのは非効率的であり、「悪のトピック」のみを作成し、プログラマーの一般的な開発にのみ役立ちます。