「Javaパフォーマンス測定」の版間の差分

提供:Software Development Memo
ナビゲーションに移動 検索に移動
(ページの作成: Category:Java 様々なパフォーマンス測定を行います。 == メソッド名を取得 == === StackTraceElementを使用 === ソースコード <source lang="jav…)
 
 
42行目: 42行目:
System.out.println(System.currentTimeMillis() - s);
System.out.println(System.currentTimeMillis() - s);
}
}
}
public static String getMethodName() {
return Thread.currentThread().getStackTrace()[2].getMethodName();
}
}
</source>
</source>

2010年3月6日 (土) 05:52時点における最新版


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

メソッド名を取得

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)