Java 为JMH基准测试方法使用参数

Java 为JMH基准测试方法使用参数,java,benchmarking,jmh,Java,Benchmarking,Jmh,我已经编写了两种方法,需要比较它们的性能。这两个方法都接受参数,所以我用@Param注释创建了两个单独的字段——每个方法一个。参数是独立使用的(即每个方法仅使用其各自的字段,而不使用其他方法使用的@Param字段)。我已经读到JMH使用@Param字段的排列来运行测试,但我不需要测试每个排列,因为每个方法只使用自己的参数。对于每个方法,是否有一种方法可以让JMH运行测试来测量性能,同时只循环使用它使用的@Param字段 我现在要做的是将两个@Param字段分离成两个不同的状态类,并让每个方法将相

我已经编写了两种方法,需要比较它们的性能。这两个方法都接受参数,所以我用@Param注释创建了两个单独的字段——每个方法一个。参数是独立使用的(即每个方法仅使用其各自的字段,而不使用其他方法使用的@Param字段)。我已经读到JMH使用@Param字段的排列来运行测试,但我不需要测试每个排列,因为每个方法只使用自己的参数。对于每个方法,是否有一种方法可以让JMH运行测试来测量性能,同时只循环使用它使用的@Param字段

我现在要做的是将两个@Param字段分离成两个不同的状态类,并让每个方法将相应的状态对象作为参数。这对我来说似乎没有必要,因为这两个状态类之间的唯一区别是@Param字段(其余的设置等对于这两个类都是相同的)。有没有更简洁的方法


谢谢你的帮助

你应该把问题一分为二,因为这是两个不同的问题。第一个问题是可以理解的,并且有一个很好的解决方案,第二个问题需要澄清(首先,使用不同的参数运行不同的交互的预期结果是什么)。最后我删除了第二个问题,因为它并不重要——如果有必要,我会将其作为第二个问题发布。谢谢