JITWatchを試す2
前回はJITWatchのデモアプリを使ってHotSpotログファイルを作成したので、今回はソースコードを書いて試してみた。
手順は前回と同じ。
https://hirakida29.hatenablog.com/entry/2020/06/06/235407
準備
ソースコード
build.gradle
plugins { id 'java' id 'application' } group 'com.example' version '1.0-SNAPSHOT' sourceCompatibility = JavaVersion.VERSION_11 mainClassName = 'com.example.Main' run { jvmArgs = ['-XX:+UnlockDiagnosticVMOptions', '-XX:+TraceClassLoading', '-XX:+LogCompilation', '-XX:+PrintAssembly'] }
Main.java
package com.example; public class Main { public Main(int iterations) { addVariable(iterations); } private void addVariable(int iterations) { long count = 0; for (int i = 0; i < iterations; i++) { count = add(count, i); } System.out.println(count); } private long add(long a, long b) { return a + b; } public static void main(String[] args) throws Exception { new Main(1_000_000); } }
HotSpotログファイル
上記のコードを実行してログファイルを出力する。
% ./gradlew run
Demo