温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
诶,下一个新特性呢,叫做微基准测试套件,这个呢,我们也可以看成是相关的一些API层面的更新,但这个呢,不需要我们直接的去接触,那要想说清楚呢,什么叫微基准测试套件呢?我们先来解释清楚,什么叫诶GMH,那很多同学呢,应该都用过啊,所谓的GMH呢,就是Java啊,Micro bench mark啊,Harness就是Java的微基准测试的工具啊,这呢是专门用于诶代码微基准测试的一个工具套件。啊,什么叫micro benchmark呢?简单来说就是基于方法层面的基准测试啊,精度呢可以达到微秒级,就是当你定位到热点的方法的时候呢,需要进一步优化,说方法的性能的时候,我们就可以用GMH呢对优化的结果进行一个量化的分析。当然了,我们进行这个微精准测试的话呢,可以不使用GMH啊,还有其他的话呢,你可以选择其他的,当然建议呢,我们使用GMH,为什么呢?呃,因为GMH呢,跟咱们这个G那就是just in time即时编译器是同一套人马写的啊,那么我们要是使用GMH的话呢,应该说叫呃,得天独厚啊,那么具体的这个GMH它的应用场景有哪些呢?这块我们给大家举了三个例子,比如说呢,大家想准确的知道某一个方法执行需要多长时间。
01:16
啊,以及呢,执行的时间和输入之间的一个相关性。那这呢是我们的主要的一个应用场景啊,接着呢,去对比一下接口的不同,实现在给定条件下的一个吞吐量的大小,做一个对比,诶我们可以用到GMH,以及呢,我们想查看多少百分比的请求,在多长时间之内啊完成了啊这呢都是我们GM的一个典型使用场景。那下边呢,我就罗列出来了,GMH,我们要想使用的话啊,这个该如何去实现,这呢,我们是基于VI这样环境的,那么在getth up上呢,有这个graid这个例子啊,大家呢,去giub上自行参考就呃进行这个搜索就可以了,那么如果是的话呢,大家需要创建一个GMH的一个工程,那如果是你在现有的ma工程当中想使用GH进行一个测试啊,大家呢,需要把相关的这个依赖呢,还有这个插件还导入到我们这个POM当中就可以了啊这呢,因为咱们是在讲解这个新特性,就不过多的给大家去说明啊GMH的一个使用了啊,大家到网上也可以搜索相关的一些呃知识进行一个测试。
02:16
好,那么下边呢,我们想介绍的是我们的新特性啊,这个GMH的话呢,我们之前就有了,那么在JAVA12当中,咱们添加了一套新的啊基础的或者叫基本的微基准测试套件。那此功能呢,为GDK源代码呢,添加了一套新的基准测试,大概呢,能有100个啊相关的这个这个API了,那么它简化了咱们现有的微基准测试的运行和新基准测试的一个创建过程啊,就是说白了就是使我们这个微基准测试呢更加的简便了啊,它呢是基于咱们说的诶GMH的,可以轻松的去测试JDK的性能,支持GMH的一个更新啊,非常方便啊。那另外一个我们想提的就是这个微信测试套件呢,呃,它跟我们JDK呢,源代码是在同一个目录下的,但是呢,构建以后它是生成单个jar文件,那它的好处是什么呢?就是如果我们在呃构建项目的过程当中,对这个微机测试如果不感兴趣的话呢,其实我们就可以避开啊,去构建这个微基准测试这样的一个情况啊,它是一个单独的项目。
03:19
啊就是呃,这样你避开以后呢,能够减少我们项目的一个构建时间,就是大家需要的话呢,你就去做一个这个构建啊,不需要话呢,就不用考虑我们的微机测试了,诶是这样一个情况,然后下边呢,就是用户在使用的时候呢,一些基本的指令啊这呢就相当于我们关于新的诶微基准测试套件的一个解释,诶这个大家呢了解一下就可以了啊具体落地使用的话呢,一般咱们还会选择叫诶GMH。
我来说两句