Introduction

Here are benchmarking results for «Java Compression Performance» blog post.

The performance tests are performed via JMH. The configuration of a hardware is Intel® Core™ i7-1165G7 @ 2.80GHz × 8 (4 core + 4 HT) with 16 GB RAM. Scala version: 2.13.6.

avg - average, min - minimal, p50 - percentile 50 (median), p95 - percentile 95, p99 - percentile 99, max - maximum

Charts for real data

Decoding Performance (time, microseconds)

Decoding Throughput (output bytes)

  • 100 MB/s
  • 500 MB/s

Decoding Performance By JDK

  • 298
  • 4287156

Charts for stub (random) data

Decoding Performance (time, microseconds)

Decoding Throughput (output bytes)

  • 100 MB/s
  • 500 MB/s

Decoding Performance By JDK

  • 1024
  • 102400

Comparisons

Decoding Comparison: gzip vs deflate

Performance Comparison: gzip vs deflate

Throughput Comparison: gzip vs deflate

Compression Ratios: gzip vs deflate

Decoding Comparison: deflate vs deflate+size

Performance Comparison: deflate vs deflate+size

Throughput Comparison: deflate vs deflate+size

Compression Ratios: deflate vs deflate+size

Decoding Comparison: lz4 levels

Performance Comparison: lz4 levels

Throughput Comparison: lz4 levels

Compression Ratios: lz4 levels

Decoding Comparison: brotli levels

Performance Comparison: brotli levels

Throughput Comparison: brotli levels

Compression Ratios: brotli levels

Decoding Comparison: lz4 vs brotli

Performance Comparison: lz4 vs brotli

Throughput Comparison: lz4 vs brotli

Compression Ratios: lz4 vs brotli

Decoding Comparison: lz4_fast vs snappy

Performance Comparison: lz4_fast vs snappy

Throughput Comparison: lz4_fast vs snappy

Compression Ratios: lz4_fast vs snappy

Decoding Comparison: brotli_6 vs gzip

Performance Comparison: brotli_6 vs gzip

Throughput Comparison: brotli_6 vs gzip

Compression Ratios: brotli_6 vs gzip

Full JMH logs:openjdk-8 (json), openjdk-11 (json), openjdk-17 (json). Compression ratios and data lengths in a speadsheet.