Enum Mode

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Mode>

    public enum Mode
    extends java.lang.Enum<Mode>
    Benchmark mode.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      All
      Meta-mode: all the benchmark modes.
      AverageTime
      Average time: average time per per operation.
      SampleTime
      Sample time: samples the time for each operation.
      SingleShotTime
      Single shot time: measures the time for a single operation.
      Throughput
      Throughput: operations per unit of time.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String longLabel  
      private java.lang.String shortLabel  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Mode​(java.lang.String shortLabel, java.lang.String longLabel)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Mode deepValueOf​(java.lang.String name)  
      static java.util.List<java.lang.String> getKnown()  
      java.lang.String longLabel()  
      java.lang.String shortLabel()  
      static Mode valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Mode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • Throughput

        public static final Mode Throughput

        Throughput: operations per unit of time.

        Runs by continuously calling Benchmark methods, counting the total throughput over all worker threads. This mode is time-based, and it will run until the iteration time expires.

      • AverageTime

        public static final Mode AverageTime

        Average time: average time per per operation.

        Runs by continuously calling Benchmark methods, counting the average time to call over all worker threads. This is the inverse of Throughput, but with different aggregation policy. This mode is time-based, and it will run until the iteration time expires.

      • SampleTime

        public static final Mode SampleTime

        Sample time: samples the time for each operation.

        Runs by continuously calling Benchmark methods, and randomly samples the time needed for the call. This mode automatically adjusts the sampling frequency, but may omit some pauses which missed the sampling measurement. This mode is time-based, and it will run until the iteration time expires.

      • SingleShotTime

        public static final Mode SingleShotTime

        Single shot time: measures the time for a single operation.

        Runs by calling Benchmark once and measuring its time. This mode is useful to estimate the "cold" performance when you don't want to hide the warmup invocations, or if you want to see the progress from call to call, or you want to record every single sample. This mode is work-based, and will run only for a single invocation of Benchmark method.

        Caveats for this mode include:
        • More warmup/measurement iterations are generally required.
        • Timers overhead might be significant if benchmarks are small; switch to SampleTime mode if that is a problem.
      • All

        public static final Mode All
        Meta-mode: all the benchmark modes. This is mostly useful for internal JMH testing.
    • Field Detail

      • shortLabel

        private final java.lang.String shortLabel
      • longLabel

        private final java.lang.String longLabel
    • Constructor Detail

      • Mode

        private Mode​(java.lang.String shortLabel,
                     java.lang.String longLabel)
    • Method Detail

      • values

        public static Mode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Mode c : Mode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Mode valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • shortLabel

        public java.lang.String shortLabel()
      • longLabel

        public java.lang.String longLabel()
      • deepValueOf

        public static Mode deepValueOf​(java.lang.String name)
      • getKnown

        public static java.util.List<java.lang.String> getKnown()