org.apache.sysds.runtime.compress

## Class CompressionSettings

- java.lang.Object
- - org.apache.sysds.runtime.compress.CompressionSettings

-     public class CompressionSettings
      extends Object

  Compression Settings class, used as a bundle of parameters inside the Compression framework. See CompressionSettingsBuilder for default non static parameters.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `allowSharedDictionary` Share DDC Dictionaries between ColGroups.
    `static int` | `BITMAP_BLOCK_SZ` Size of the blocks used in a blocked bitmap representation.
    `double` | `coCodePercentage` A Cocode parameter that differ in behavior based on compression method, in general it is a value that reflects aggressively likely coCoding is used.
    `CoCoderFactory.PartitionerType` | `columnPartitioner` The selected method for column partitioning used in CoCoding compressed columns
    `CostEstimatorFactory.CostType` | `costComputationType` The cost computation type for the compression
    `SampleEstimatorFactory.EstimationType` | `estimationType` The sample type used for sampling
    `boolean` | `lossy` True if lossy compression is enabled
    `int` | `maxColGroupCoCode` The maximum number of columns CoCoded allowed
    `int` | `minimumSampleSize` The minimum size of the sample extracted.
    `double` | `samplingRatio` The sampling ratio used when choosing ColGroups.
    `int` | `seed` If the seed is -1 then the system used system millisecond time and class hash for seeding.
    `boolean` | `skipList` Boolean specifying if the OLE and RLE should construct skip to enable skipping large amounts of rows.
    `boolean` | `sortValuesByLength` Sorting of values by physical length helps by 10-20%, especially for serial, while slight performance decrease for parallel incl multi-threaded, hence not applied for distributed operations (also because compression time + garbage collection increases)
    `boolean` | `transposed` Transpose input matrix, to optimize access when extracting bitmaps.
    `String` | `transposeInput` Boolean specifying which transpose setting is used, can be auto, true or false
    `EnumSet<AColGroup.CompressionType>` | `validCompressions` Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression Default is to always allow for Uncompromisable ColGroup.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### BITMAP_BLOCK_SZ

          public static final int BITMAP_BLOCK_SZ

      Size of the blocks used in a blocked bitmap representation. Note it is exactly Character.MAX_VALUE. This is not Character max value + 1 because it breaks the offsets in cases with fully dense values.
      See Also:
        Constant Field Values

    - #### sortValuesByLength

          public final boolean sortValuesByLength

      Sorting of values by physical length helps by 10-20%, especially for serial, while slight performance decrease for parallel incl multi-threaded, hence not applied for distributed operations (also because compression time + garbage collection increases)

    - #### samplingRatio

          public final double samplingRatio

      The sampling ratio used when choosing ColGroups. Note that, default behavior is to use exact estimator if the number of elements is below 1000.

    - #### allowSharedDictionary

          public final boolean allowSharedDictionary

      Share DDC Dictionaries between ColGroups.

    - #### transposeInput

          public final String transposeInput

      Boolean specifying which transpose setting is used, can be auto, true or false

    - #### skipList

          public final boolean skipList

      Boolean specifying if the OLE and RLE should construct skip to enable skipping large amounts of rows. (Optimization)

    - #### seed

          public final int seed

      If the seed is -1 then the system used system millisecond time and class hash for seeding.

    - #### lossy

          public final boolean lossy

      True if lossy compression is enabled

    - #### columnPartitioner

          public final CoCoderFactory.PartitionerType columnPartitioner

      The selected method for column partitioning used in CoCoding compressed columns

    - #### costComputationType

          public final CostEstimatorFactory.CostType costComputationType

      The cost computation type for the compression

    - #### maxColGroupCoCode

          public final int maxColGroupCoCode

      The maximum number of columns CoCoded allowed

    - #### coCodePercentage

          public final double coCodePercentage

      A Cocode parameter that differ in behavior based on compression method, in general it is a value that reflects aggressively likely coCoding is used.

    - #### validCompressions

          public final EnumSet<AColGroup.CompressionType> validCompressions

      Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression Default is to always allow for Uncompromisable ColGroup.

    - #### minimumSampleSize

          public final int minimumSampleSize

      The minimum size of the sample extracted.

    - #### estimationType

          public final SampleEstimatorFactory.EstimationType estimationType

      The sample type used for sampling

    - #### transposed

          public boolean transposed

      Transpose input matrix, to optimize access when extracting bitmaps. This setting is changed inside the script based on the transposeInput setting. This is intentionally left as a mutable value, since the transposition of the input matrix is decided in phase 3.

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2021 The Apache Software Foundation. All rights reserved.