Class 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 Detail

      • 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 Detail

      • 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.