Javaパフォーマンス測定

提供: Software Development Memo
移動先: 案内検索


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

メソッド名を取得

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)