プログラムの実行効率の向上-無視できないprintln()

1191 ワード

詳細
私たちのプロジェクトでは、logがよく使われています.目立たないものですが、プログラムの性能に与える影響は非常に大きく、テスト記録ログと記録ログの性能の違いをコンソールで簡単に出力します.
		int count = 10000 * 100;
		long startTime = System.currentTimeMillis();
		for (int i = 0; i < count; i++) {
		}
		long elapsedTimeWithOutOutPut = System.currentTimeMillis() - startTime;

		startTime = System.currentTimeMillis();
		for (int i = 0; i < count; i++) {
			System.out.println("Test output!");
		}
		long elapsedTimeWithOutPut = System.currentTimeMillis() - startTime;

		System.out.println("elapsedTimeWithOutOutPut: " + elapsedTimeWithOutOutPut);
		System.out.println("elapsedTimeWithOutPut: " + elapsedTimeWithOutPut);
		System.out.println(elapsedTimeWithOutPut / elapsedTimeWithOutOutPut + " Times");

出力結果:

...
Test output!
Test output!
Test output!
elapsedTimeWithOutOutPut: 3
elapsedTimeWithOutPut: 13518
4506 Times

本格的なファイルIO操作記録ログに変更すると、パフォーマンスへの影響が予想されるため、ビジネス処理時にログを記録する必要がある場合にログを記録します.システムがオンラインで実行されるとき、log出力のレベル、error、debug、info...