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.
    `PlanningCoCoder.PartitionerType` | `columnPartitioner` The selected method for column partitioning used in CoCoding compressed columns
    `boolean` | `investigateEstimate` Boolean specifying if the compression strategy should be investigated and monitored.
    `boolean` | `lossy` True if lossy compression is enabled
    `int` | `maxStaticColGroupCoCode` The maximum number of columns CoCoded if the Static CoCoding strategy is selected
    `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` | `transposeInput` Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation for iteration in columns.
    `EnumSet<ColGroup.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 one more than Character.MAX_VALUE.
      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 boolean transposeInput

      Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation for iteration in columns.

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

    - #### investigateEstimate

          public final boolean investigateEstimate

      Boolean specifying if the compression strategy should be investigated and monitored.

    - #### lossy

          public final boolean lossy

      True if lossy compression is enabled

    - #### columnPartitioner

          public final PlanningCoCoder.PartitionerType columnPartitioner

      The selected method for column partitioning used in CoCoding compressed columns

    - #### maxStaticColGroupCoCode

          public final int maxStaticColGroupCoCode

      The maximum number of columns CoCoded if the Static CoCoding strategy is selected

    - #### validCompressions

          public final EnumSet<ColGroup.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 Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

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