compression_level_to_zstd

Function compression_level_to_zstd 

Source
pub fn compression_level_to_zstd(level: Option<u8>) -> i32
Expand description

Converts user compression level (1-9) to zstd compression level.

§Mapping

Zstd has a wider range (1-22) than our user scale (1-9). We map user levels to strategic zstd levels:

  • None or Some(6): Level 3 (default, fast with good compression)
  • 1: Level 1 (fastest)
  • 2: Level 2 (fast)
  • 7: Level 10 (good compression)
  • 8: Level 15 (better compression)
  • 9: Level 19 (best compression)
  • Other values: Level 3 (default)

§Examples

use exarch_core::creation::compression::compression_level_to_zstd;

let default_level = compression_level_to_zstd(None);
assert_eq!(default_level, 3);

let fast_level = compression_level_to_zstd(Some(1));
assert_eq!(fast_level, 1);

let best_level = compression_level_to_zstd(Some(9));
assert_eq!(best_level, 19);