Class DistinctCostEstimator

java.lang.Object
org.apache.sysds.runtime.compress.cost.ACostEstimate
org.apache.sysds.runtime.compress.cost.DistinctCostEstimator
All Implemented Interfaces:
Serializable

public class DistinctCostEstimator extends ACostEstimate
A Cost based estimator that based the compression and co-coding cost on the number of distinct elements in the column groups. The base cost of the uncompressed representation is the number of cells in the matrix that has a value. Aka nonzero values.
See Also:
  • Constructor Details

    • DistinctCostEstimator

      public DistinctCostEstimator(int nRows, CompressionSettings cs, double sparsity)
  • Method Details

    • getCost

      public double getCost(MatrixBlock mb)
      Description copied from class: ACostEstimate
      Get the cost of a matrix block.
      Specified by:
      getCost in class ACostEstimate
      Parameters:
      mb - A MatrixBlock
      Returns:
      The cost subject to the internal cost functions
    • getCost

      public double getCost(AColGroup cg, int nRows)
      Description copied from class: ACostEstimate
      Get the cost of a compressed columnGroup.
      Specified by:
      getCost in class ACostEstimate
      Parameters:
      cg - A ColumnGroup
      nRows - The number of rows in the column group
      Returns:
      The cost subject to the internal cost functions
    • shouldSparsify

      public boolean shouldSparsify()
      Description copied from class: ACostEstimate
      Ask the cost estimator if it is a good idea to try to sparsify a column group. It is the same as asking if it is a good idea to make FOR on top of the column group.
      Specified by:
      shouldSparsify in class ACostEstimate
      Returns:
      true if yes