相关疑难解决方法(0)

热点JIT优化

在关于Hotspot中的JIT的讲座中,我想尽可能多地给出JIT执行的特定优化的示例.

我只知道"方法内联",但应该有更多.为每个例子投票.

java jit compiler-optimization

16
推荐指数
4
解决办法
4576
查看次数

Java:JIT方法内联

Java JIT 何时内联方法调用?它是基于#times调用调用方法(如果是,该数字是什么?),或者其他一些标准(那将是什么?)

我已经读过JIT可以内联'final'方法,但它也会根据运行时统计信息内联非最终方法,所以想知道什么是触发条件.

我想答案会因JVM的实现而有所不同,但也许所有这些都有共同之处?

java jit inline

15
推荐指数
2
解决办法
3647
查看次数

“循环取消切换”优化不起作用

听说Java支持“Loop Unswitching”,所以就在JMH上简单测试了一下。

我认为在 JIT 之后它们会完全相同。为什么是这样?

private final int TIMES = 1_000_000;
private boolean bool;
private Random r = new Random(93);

@Setup(Level.Invocation)
public void fresh() {
    bool = r.nextBoolean();
}

@Benchmark
public void test1(Blackhole bh) {
    for (int i = 0; i < TIMES; i++) {
        if (bool) {
            bh.consume(1);
        } else {
            bh.consume(2);
        }
    }
}

@Benchmark
public void test2(Blackhole bh) {
    if (bool) {
        for (int i = 0; i < TIMES; i++) {
            bh.consume(1);
        }
    } else { …
Run Code Online (Sandbox Code Playgroud)

java performance jit

2
推荐指数
1
解决办法
202
查看次数

标签 统计

java ×3

jit ×3

compiler-optimization ×1

inline ×1

performance ×1