Java性能优化实践p73

2022/7/25 1:54:12

本文主要是介绍Java性能优化实践p73,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通常情况下,基准测试都需要一些设置,比如创建一个数据集,或者为一组用来比较性能的、正交的基准测试集设置所需的条件。
状态,以及控制状态是JMH框架所具有的另一个特性。可以用@State注解来定义该状态,并接受Scope枚举来定义状态的可见范围:Benchmark,Group还是Thread.
使用@State注解的对象在基准测试的生命周期内都是可达的,它可能还需要执行一些必要的设置。
多线程代码也需要谨慎处理,以确保基准测试不会因为状态管理不善而出现偏差。

一般来说,如果在一个方法中执行的代码没有副作用并且返回结果也没有用到,那JVM就可以考虑移除这个方法,JMH需要防止这种情况的发生,而且事实上,对于基准测试的作者来说,这种情况带来的影响是非常直接的。如果是单个结果,那么基准测试方法可以将其返回,而且该框架要确保暗中将这个值赋值到某个地方(黑洞),这是框架作者开发的一种机制,其性能开销可以忽略不计。

如果一个基准测试要执行多个计算,那么将该方法的结果组合起来并返回的成本可能会很高。在这种情况下,作者可能需要使用一个显式的黑洞,具体做法是创建一个以Blackhole为参数的基准测试。

image
[图1 还没隔离前浦东图书馆照]

image
[图2 还没隔离前浦东图书馆照]

这次借的书是乘坐地铁2小时+去青浦图书馆提的货
上次未还的3册书也打了欠条给青浦图书馆的美女接待



这篇关于Java性能优化实践p73的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程