相关疑难解决方法(0)

如何在Java中编写正确的微基准测试?

你如何在Java中编写(并运行)正确的微基准测试?

我在这里寻找代码示例和注释,说明要考虑的各种事项.

示例:基准测量应该测量时间/迭代或迭代/时间,为什么?

相关:秒表基准可以接受吗?

java benchmarking jvm jvm-hotspot microbenchmark

835
推荐指数
11
解决办法
11万
查看次数

Java:JIT方法内联

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

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

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

java jit inline

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

局部变量或类字段?

我今天读了一篇关于 C#和Java 性能改进文章.

我还是坚持这个:


19.不要过度使用实例变量

使用局部变量可以提高性能.示例1中的代码执行速度比示例2中的代码快.

例1:

public void loop() {
    int j = 0;
    for ( int i = 0; i<250000;i++){
        j = j + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

例2:

int i;
public void loop() {
    int j = 0;
    for (i = 0; i<250000;i++){
        j = j + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

实际上,我不明白为什么loop在我可以对字段进行简单访问时,每次调用函数时实例化一些内存并释放它应该更快.

这是纯粹的好奇心,我不是试图将变量'i'放在类的范围内:p是否真的使用局部变量更快?或者只是在某些情况下?

c# java performance

12
推荐指数
2
解决办法
6097
查看次数

标签 统计

java ×3

benchmarking ×1

c# ×1

inline ×1

jit ×1

jvm ×1

jvm-hotspot ×1

microbenchmark ×1

performance ×1