Javaパフォーマンス測定

提供:Software Development Memo
2010年3月6日 (土) 05:52時点におけるAdmin (トーク | 投稿記録)による版 (→‎ハードコーディング)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動


様々なパフォーマンス測定を行います。

メソッド名を取得

StackTraceElementを使用

ソースコード

public void method00() {
	for (int j = 0; j < 5; j++) {
		long s = System.currentTimeMillis();
		for(int i = 0; i < 1000000; i++) {
			final String name = getMethodName();
		}
		System.out.println(System.currentTimeMillis() - s);
	}
}

public static String getMethodName() {
	return Thread.currentThread().getStackTrace()[2].getMethodName();
}

コンソール出力

6366
5734
5590
5700
5144

ハードコーディング

ソースコード

public void method00() {
	for (int j = 0; j < 5; j++) {
		long s = System.currentTimeMillis();
		for(int i = 0; i < 1000000; i++) {
			final String name = "method00";
		}
		System.out.println(System.currentTimeMillis() - s);
	}
}

コンソール出力

15
8
0
0
0
  • 環境
    • CentOS 5.4
    • java version "1.6.0_18" (64-Bit)

変更履歴

  • ページ作成 -- Admin 2010年3月6日 (土) 05:50 (UTC)