public interface ICostEstimate extends Serializable
Modifier and Type | Field and Description |
---|---|
static org.apache.commons.logging.Log |
LOG |
static long |
serialVersionUID |
Modifier and Type | Method and Description |
---|---|
double |
getCostOfCollectionOfGroups(Collection<CompressedSizeInfoColGroup> gs)
Get the computation cost of a collection of column groups information.
|
double |
getCostOfCollectionOfGroups(Collection<CompressedSizeInfoColGroup> gs,
CompressedSizeInfoColGroup g) |
double |
getCostOfColumnGroup(CompressedSizeInfoColGroup g)
If the instruction does not care about the inter column group cost, such as in memory cost or in computation cost
of right or left matrix multiplication we simply estimate the cost of individual column groups.
|
double |
getCostOfTwoGroups(CompressedSizeInfoColGroup g1,
CompressedSizeInfoColGroup g2) |
double |
getUncompressedCost(int nRows,
int nCols,
int sparsity)
Calculate the cost of execution if uncompressed.
|
boolean |
isCompareAll()
Function that returns true if the cost is based an an all compare all column groups false otherwise.
|
boolean |
shouldAnalyze(CompressedSizeInfoColGroup g1,
CompressedSizeInfoColGroup g2)
Decide if the column groups should be analysed, or the worst case join should be expected.
|
boolean |
shouldTryJoin(CompressedSizeInfoColGroup g1,
CompressedSizeInfoColGroup g2)
Decide if the column groups should try to join, this is to filter obviously bad joins out.
|
static final long serialVersionUID
static final org.apache.commons.logging.Log LOG
double getUncompressedCost(int nRows, int nCols, int sparsity)
nRows
- Number of rows in compressionnCols
- Number of columns in compressionsparsity
- Sparsity of the inputdouble getCostOfColumnGroup(CompressedSizeInfoColGroup g)
g
- Column group to estimate the cost ofdouble getCostOfCollectionOfGroups(Collection<CompressedSizeInfoColGroup> gs)
gs
- All the groups considered for this cost calculationdouble getCostOfCollectionOfGroups(Collection<CompressedSizeInfoColGroup> gs, CompressedSizeInfoColGroup g)
double getCostOfTwoGroups(CompressedSizeInfoColGroup g1, CompressedSizeInfoColGroup g2)
boolean isCompareAll()
boolean shouldTryJoin(CompressedSizeInfoColGroup g1, CompressedSizeInfoColGroup g2)
g1
- Group 1g2
- Group 2boolean shouldAnalyze(CompressedSizeInfoColGroup g1, CompressedSizeInfoColGroup g2)
g1
- Group 1g2
- Group 2Copyright © 2021 The Apache Software Foundation. All rights reserved.