JEP230:JDK12的新微基准测试套件
极客时间编辑部
讲述:丁婵大小:1.42M时长:03:06
OpenJDK 微基准测试套件(OpenJDK Microbenchmark Suite),即 JEP 230,基于JMH(Java Microbenchmark Harness),是 JDK 12 版本的一个新特性。JEP 230 的目标在于提供一个稳定且经过优化的基准,其中包括了近 100 个基准测试的初始集合,并且还提升了编写新基准测试和搜索已有基准测试的便利性。
最近,甲骨文核心技术人员克雷斯·雷德斯泰德(Claes Redestad)谈到了创建这个微基准测试套件的最初动机,微基准测试是 OpenJDK 开发过程的一部分,作为最初推动力的一部分,大多数微基准测试已经存在很长时间了,它们所依赖的 JMH(microbenchmark harness)已经存在好多年了。唯一新鲜的事情是它们集成到了 OpenJDK 构建系统中和主 OpenJDK 仓库中。
在构想这个 JEP 的时候,OpenJDK 项目被分割到多个存储库和 forest 中,这使得编写跨 tree 的测试 (和微基准测试) 非常麻烦。最初的 JEP 提案试图为这些微基准测试添加一个新的存储库,但这一努力最终搁浅了,之后,OpenJDK 已经整合为一个单独的仓库结构,很多单独开发的测试套件也整合到了主仓库中。该项目五年前面临的很多障碍已经不复存在了。
最终继续推进 JEP 230 提案的动机在于,将功能测试集成和整合(co-locate)到主 OpenJDK 仓库的努力获得了成功。作为整合的测试套件,这并不意味着所有基准测试都是基于整合的微环境(实际上,远远未实现)。但是,当团队要测试新的 API,而这个 API 只在当前工作的分支上可用时,将这些测试全部集成到一个仓库中是非常便利的。
雷德斯泰德称,微基准测试套件之所以不是一个单独的工具,是因为 JEP 230 只提供了构建和运行微基准测试的方法,并将其作为开发 OpenJDK 本身的一个组成部分,所以套件并没有很自然地转换为适合包含到 JDK 交付物中的工具。
而对于开发人员来说,开始使用微基准测试套件的最佳方式,雷德斯泰德认为,大多数的 Java 开发人员可能希望将微基准测试添加到自己的项目中,而不是贡献给 OpenJDK。因此,他建议,虽然微基准测试套件可能有助于寻找灵感,但还是先阅读 JMH。它提供了相当多的例子,并且很容易搭建一个项目并开始进行尝试。
雷德斯泰德还提到,他们希望能够在细节上进行足够多地改进,以便在开发新特性的时候,添加和运行微基准测试能够像添加新的功能测试那样简单和自然。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论