首页 > 基础资料 博客日记

Java性能优化实践p73

2023-07-31 16:59:14基础资料围观247

本篇文章分享Java性能优化实践p73,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

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

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

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

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

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

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


文章来源:https://www.cnblogs.com/ukzq/p/16514368.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云