Annotation Type Param


  • @Inherited
    @Target(FIELD)
    @Retention(RUNTIME)
    public @interface Param

    Marks the configurable parameter in the benchmark.

    Param fields should be non-final fields, and should only reside in State classes. JMH will inject the value into the annotated field before any Setup method is called. It is not guaranteed the field value would be accessible in any initializer or any constructor of State.

    Parameters are acceptable on any primitive type, primitive wrapper type, a String, or an Enum. The annotation value is given in String, and will be coerced as required to match the field type.

    Parameters should normally provide the default values which make benchmark runnable even without the explicit parameters set for the run. The only exception is Param over Enum, which will implicitly have the default value set encompassing all enum constants.

    When multiple Param-s are needed for the benchmark run, JMH will compute the outer product of all the parameters in the run.

    • Field Summary

      Fields 
      Modifier and Type Fields Description
      static java.lang.String BLANK_ARGS  
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String[] value
      Default values sequence for the parameter.
    • Field Detail

      • BLANK_ARGS

        static final java.lang.String BLANK_ARGS
    • Element Detail

      • value

        java.lang.String[] value
        Default values sequence for the parameter. By default, the parameter values will be traversed during the run in the given order.
        Returns:
        values sequence to follow.
        Default:
        {"blank_blank_blank_2014"}