Trades between speed and compression size.
Default paramaters are [taken from zlib] (https://github.com/madler/zlib/blob/v1.3.1/deflate.c#L112)
pub const Options = struct
pub const Options = struct {
/// Perform less lookups when a match of at least this length has been found.
good: u16,
/// Stop when a match of at least this length has been found.
nice: u16,
/// Don't attempt a lazy match find when a match of at least this length has been found.
lazy: u16,
/// Check this many previous locations with the same hash for longer matches.
chain: u16,
// zig fmt: off
pub const level_1: Options = .{ .good = 4, .nice = 8, .lazy = 0, .chain = 4 };
pub const level_2: Options = .{ .good = 4, .nice = 16, .lazy = 0, .chain = 8 };
pub const level_3: Options = .{ .good = 4, .nice = 32, .lazy = 0, .chain = 32 };
pub const level_4: Options = .{ .good = 4, .nice = 16, .lazy = 4, .chain = 16 };
pub const level_5: Options = .{ .good = 8, .nice = 32, .lazy = 16, .chain = 32 };
pub const level_6: Options = .{ .good = 8, .nice = 128, .lazy = 16, .chain = 128 };
pub const level_7: Options = .{ .good = 8, .nice = 128, .lazy = 32, .chain = 256 };
pub const level_8: Options = .{ .good = 32, .nice = 258, .lazy = 128, .chain = 1024 };
pub const level_9: Options = .{ .good = 32, .nice = 258, .lazy = 258, .chain = 4096 };
// zig fmt: on
pub const fastest = level_1;
pub const default = level_6;
pub const best = level_9;
}