Ai
1 Star 0 Fork 59

Yangjianwei/java-performance

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ClientTest.java 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
xiandafu 提交于 2019-11-13 10:35 +08:00 . sample
package com.ibeetl.code.jit;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
import java.util.concurrent.TimeUnit;
/**
* 解释执行和编译执行的区别
* @author 公众号 java系统优化
*/
@BenchmarkMode(Mode.AverageTime)
@Warmup(iterations = 10)
@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS)
@Threads(1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@State(Scope.Benchmark)
public class ClientTest {
int x=0,y=0;
/**
* 解释执行
* @return
*/
@Benchmark
@Fork(value=1,jvmArgsAppend="-Xint")
@CompilerControl(CompilerControl.Mode.DONT_INLINE)
public int bytecode(){
return x+y;
}
/**
* 没有-Xint,都是编译执行
* @return
*/
@Benchmark
@Fork(value=1)
public int machinecode(){
return x+y;
}
private int add(int x,int y){
return x+y;
}
@Setup
public void init(){
x =1;
y= 2;
}
public static void main(String[] args) throws RunnerException {
Options opt = new OptionsBuilder()
.include(ClientTest.class.getSimpleName())
.build();
new Runner(opt).run();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/higher/java-performance.git
git@gitee.com:higher/java-performance.git
higher
java-performance
java-performance
master

搜索帮助