Class RowBundle<T>

java.lang.Object
org.apache.beam.sdk.jmh.schemas.RowBundle<T>
Direct Known Subclasses:
RowBundles.ArrayOfNestedStringBundle, RowBundles.ArrayOfStringBundle, RowBundles.ByteBufferBundle, RowBundles.BytesBundle, RowBundles.DateTimeBundle, RowBundles.IntBundle, RowBundles.MapOfIntBundle, RowBundles.MapOfNestedIntBundle, RowBundles.NestedBytesBundle, RowBundles.NestedIntBundle, RowBundles.StringBuilderBundle, RowBundles.StringBundle

public class RowBundle<T> extends Object
Bundle of rows according to the configured Factory as input for benchmarks.

When reading, rows are created during setup() to exclude initialization costs from the measurement. To prevent unintended cache hits in RowWithGetters, a new bundle of rows must be generated before every invocation.

Setup per Level.Invocation has considerable drawbacks. Though, given that processing bundles of rows (n=bundleSize) takes well above 1 ms, each individual invocation can be adequately timestamped without risking generating wrong results.

  • Constructor Details

    • RowBundle

      public RowBundle()
    • RowBundle

      public RowBundle(Class<T> clazz)
  • Method Details

    • setup

      public void setup()
    • processRows

      public void processRows(Blackhole blackhole)
      Runs benchmark iteration on a bundle of rows.
    • readField

      protected void readField(Row row, Blackhole blackhole)
      Reads single field from row (of type RowWithGetters).