java.lang.Object
org.apache.lucene.benchmark.byTask.utils.Config

public class Config extends Object
Perf run configuration properties.

Numeric property containing ":", e.g. "10:100:5" is interpreted as array of numeric values. It is extracted once, on first use, and maintain a round number to return the appropriate value.

The config property "work.dir" tells where is the root of docs data dirs and indexes dirs. It is set to either of:

  • value supplied for it in the alg file;
  • otherwise, value of System property "benchmark.work.dir";
  • otherwise, "work".
  • Constructor Details

    • Config

      public Config(Reader algReader) throws IOException
      Read both algorithm and config properties.
      Parameters:
      algReader - from where to read algorithm and config properties.
      Throws:
      IOException - If there is a low-level I/O error.
    • Config

      public Config(Properties props)
      Create config without algorithm - useful for a programmatic perf test.
      Parameters:
      props - - configuration properties.
  • Method Details

    • setNumThreads

      public void setNumThreads(int numThreads)
    • getNumThreads

      public int getNumThreads()
    • get

      public String get(String name, String dflt)
      Return a string property.
      Parameters:
      name - name of property.
      dflt - default value.
      Returns:
      a string property.
    • set

      public void set(String name, String value) throws Exception
      Set a property. Note: once a multiple values property is set, it can no longer be modified.
      Parameters:
      name - name of property.
      value - either single or multiple property value (multiple values are separated by ":")
      Throws:
      Exception
    • get

      public int get(String name, int dflt)
      Return an int property. If the property contain ":", e.g. "10:100:5", it is interpreted as array of ints. It is extracted once, on first call to get() it, and a by-round-value is returned.
      Parameters:
      name - name of property
      dflt - default value
      Returns:
      a int property.
    • get

      public double get(String name, double dflt)
      Return a double property. If the property contain ":", e.g. "10:100:5", it is interpreted as array of doubles. It is extracted once, on first call to get() it, and a by-round-value is returned.
      Parameters:
      name - name of property
      dflt - default value
      Returns:
      a double property.
    • get

      public boolean get(String name, boolean dflt)
      Return a boolean property. If the property contain ":", e.g. "true.true.false", it is interpreted as array of booleans. It is extracted once, on first call to get() it, and a by-round-value is returned.
      Parameters:
      name - name of property
      dflt - default value
      Returns:
      a int property.
    • newRound

      public int newRound()
      Increment the round number, for config values that are extracted by round number.
      Returns:
      the new round number.
    • getColsNamesForValsByRound

      public String getColsNamesForValsByRound()
      Returns:
      names of params set by round, for reports title
    • getColsValuesForValsByRound

      public String getColsValuesForValsByRound(int roundNum)
      Returns:
      values of params set by round, for reports lines.
    • getRoundNumber

      public int getRoundNumber()
      Returns:
      the round number.
    • getAlgorithmText

      public String getAlgorithmText()
      Returns:
      Returns the algorithmText.