项目名称:
Survival_of_fittest 性能测试框架
项目背景:
排序是我们常用的算法,并且有多种排序的实现,而真正的特定情况下那种排序方式更胜一筹我们应该通过实践数据来说明;快排的优化有很多种;到底那种更快?自己写的算法和系统提供的算法的速度差多少?这些都可以设计一个性能测试的框架来帮我们测试,通过测试结果也能很好地激励我们去优化他们。
项目技术栈:
- 反射的使用;反射获取一个类对象的三种方式。
- 注解的使用;注解标识。
- 利用Java I/O扫描路径下所有*.class文件
- JMH的理解
项目功能:对自己写的算法或者系统提供的算法进行比较,在相同条件下哪个性能更优,思考怎么优化自己的算法并进行多次测试,能够帮辅助算法的优化。通过 TestCase 接口来标注待测试类 ;通过 Benchmark 注解来标注待测试方法 ;通过 Measurement 注解来指定测试配置 ;通过简单的类加载机制,实现可以待测试类的自动发现
项目总结:本次项目还有一些不足之处,比如对文件的支持:jar包的支持;没有实现Mode,目前JMH有四种模式:1.整体吞吐量Throughput 2.调用的平均时间AverageTime 3.随机取样SampleTime 4.只运行一次,往往同时把WarmUp次数设置为0:SingleshotTime