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)