None (Uncompressed) Storage

Purpose

This guide explains uncompressed storage in Cabriolet - when and why to use no compression.

Concepts

What is Uncompressed Storage?

Uncompressed storage means files are stored exactly as-is, with no compression applied. This is useful when:

  • Files are already compressed (JPEG, PNG, MP3, ZIP)

  • Speed is critical

  • Files are very small

  • Testing or debugging

When to Use None

Use uncompressed storage for:

  • Already-compressed files - JPG, PNG, GIF, MP3, MP4, ZIP, GZ

  • Very small files - <1 KB (compression overhead too high)

  • Speed-critical - Real-time operations

  • Testing - Debugging compression issues

  • Encrypted files - DRM or encrypted content

Usage

CAB files

compressor = Cabriolet::CAB::Compressor.new(compression: :none)
compressor.add_file('image.jpg')
compressor.add_file('video.mp4')
compressor.write('media.cab')

CHM files

compressor = Cabriolet::CHM::Compressor.new
# Images go to uncompressed section
compressor.add_file('logo.png', '/logo.png', section: :uncompressed)
compressor.generate('help.chm')

Command Line

# CAB with no compression
cabriolet create --compression=none media.cab *.jpg

# KWAJ with no compression
cabriolet kwaj-compress --compression=none data.bin data.kwj

Performance

Metric Value

Compression ratio

0% (no change)

Compression speed

Instant (copy only)

Decompression speed

Instant (copy only)

Memory usage

Minimal

CPU usage

Minimal

Best practices

  1. Use for pre-compressed files - Never compress JPG, PNG, MP3, etc.

  2. Test first - Verify compression doesn’t help before using none

  3. Consider hybrid - Mix compressed text with uncompressed media

  4. Document choice - Note why files are uncompressed

See also