Skip to content

gzip write default compression level changed from Optimal to SmallestSize in 6.0 (undocumented) #765

Description

@svenclaesson

Issue description

In 5.x, ParquetSerializerOptions.CompressionLevel defaulted to CompressionLevel.Optimal. In 6.0, compression moved to ParquetOptions (ParquetOptions.CompressionLevel) and the default became CompressionLevel.SmallestSize.

The 6.0 release notes mention that CompressionMethod/CompressionLevel moved to ParquetOptions, but not that the default value changed. So code that sets CompressionMethod = Gzip (and RowGroupSize) without setting CompressionLevel silently switches from balanced to max-effort gzip on upgrade.

Measured impact (serialize ~24.7M rows, gzip, RowGroupSize 25000, same machine):

  • SmallestSize (6.x default): ~7m07s, 678 MB
  • Optimal (explicit): ~2m23s, 711 MB

~3× slower writes for ~5% smaller files.

Workaround is to set CompressionLevel = Optimal explicitly.

Suggestion: document the default change in the 6.0 breaking-changes notes, or restore Optimal as the gzip default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions