From cad24960e30d2789f2079e16492134da512b1e3f Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 13 Sep 2026 15:25:50 +0200 Subject: [PATCH] Implement node input compression test tool --- Cargo.lock | 73 ++++- Cargo.toml | 2 +- tools/compression_test/Cargo.toml | 24 ++ tools/compression_test/src/main.rs | 310 +++++++++++++++++++++ tools/compression_test/value-diff-test.gdd | Bin 0 -> 95492 bytes 5 files changed, 400 insertions(+), 9 deletions(-) create mode 100644 tools/compression_test/Cargo.toml create mode 100644 tools/compression_test/src/main.rs create mode 100644 tools/compression_test/value-diff-test.gdd diff --git a/Cargo.lock b/Cargo.lock index e36ea02788..c70d80b3c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -856,6 +856,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "compression_test" +version = "0.0.0" +dependencies = [ + "document-container", + "document-format", + "document-graph-storage", + "futures", + "lz4_flex", + "rmp-serde", + "zstd", + "zstd-safe", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1262,7 +1276,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1541,7 +1555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3359,6 +3373,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "lz4_flex" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecbdfe44b1bd960b68170b417450a628c43f7cf56bb3c5317e61cb230ee7f226" +dependencies = [ + "twox-hash", +] + [[package]] name = "lzma-rust2" version = "0.16.2" @@ -4081,7 +4104,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.45.0", + "windows-sys 0.61.2", ] [[package]] @@ -4609,7 +4632,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5126,7 +5149,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5194,7 +5217,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5937,7 +5960,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6419,6 +6442,12 @@ dependencies = [ "core_maths", ] +[[package]] +name = "twox-hash" +version = "2.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5283634e518fe9e82c7b20520bb4bc209009fd16c82077c802f8111ecbb0117a" + [[package]] name = "typed-path" version = "0.12.3" @@ -7225,7 +7254,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -8157,6 +8186,34 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3" +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d80649ab6db9d9f6f9c80a40becd948eda4714a0a5ac8c4d157a32231c7882" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.1.0+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef0a8027ec3ee71300ab3bcbcd0393f434aa72b91ca6d635a39941deae8eea0" +dependencies = [ + "cc", + "pkg-config", +] + [[package]] name = "zune-core" version = "0.4.12" diff --git a/Cargo.toml b/Cargo.toml index 194897cbdb..6f13fbbc1f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ members = [ "tools/crate-hierarchy-viz", "tools/third-party-licenses", "tools/editor-message-tree", - "tools/node-docs", + "tools/node-docs", "tools/compression_test", ] default-members = [ "editor", diff --git a/tools/compression_test/Cargo.toml b/tools/compression_test/Cargo.toml new file mode 100644 index 0000000000..8d095e546b --- /dev/null +++ b/tools/compression_test/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "compression_test" +rust-version.workspace = true +edition.workspace = true +authors.workspace = true +homepage.workspace = true +repository.workspace = true +license.workspace = true +version.workspace = true +readme.workspace = true +publish.workspace = true + +[dependencies] +document-format.workspace = true +document-container.workspace = true +document-graph-storage.workspace = true +rmp-serde.workspace = true +lz4_flex = { version = "0.14.0", features = ["alloc"] } +futures.workspace = true +zstd = "0.13" +zstd-safe = "7" + +[lints] +workspace = true diff --git a/tools/compression_test/src/main.rs b/tools/compression_test/src/main.rs new file mode 100644 index 0000000000..9f1d040feb --- /dev/null +++ b/tools/compression_test/src/main.rs @@ -0,0 +1,310 @@ +use std::collections::HashMap; +use std::io::Write; +use std::path::Path; + +use document_container::{AnyContainer, backends::memory::MemoryBackend}; +use document_format::{Codec, Gdd, GddV1Layout}; +use document_graph_storage::{Delta, NodeInput, RegistryDelta}; +use lz4_flex::frame::{BlockMode, FrameEncoder, FrameInfo}; + +fn main() { + let document_path = Path::new("value-diff-test.gdd"); + let archive = std::fs::read(document_path).unwrap(); + let memory = MemoryBackend::new(); + let container = AnyContainer::Memory(memory); + let gdd = futures::executor::block_on(Gdd::open_from_archive(archive.as_ref(), container, GddV1Layout)).unwrap(); + + let deltas: Vec<&Delta> = gdd.session().history().collect(); + + // What `history.frames` holds today: every delta as a length-prefixed MessagePack frame. + let mut current = Vec::new(); + for delta in &deltas { + Codec::MessagePackFrames.append(&mut current, delta).unwrap(); + } + let frames: Vec> = deltas.iter().map(|delta| rmp_serde::to_vec(delta).unwrap()).collect(); + let frames_total: usize = frames.iter().map(Vec::len).sum(); + + println!("history: {} deltas", deltas.len()); + println!("archive (.gdd, xz): {:>9} bytes", archive.len()); + println!("history.frames as stored today: {:>9} bytes", current.len()); + println!(); + + let report = |label: &str, bytes: usize| { + println!("{label:<42}{bytes:>9} bytes {:>6.2}x smaller than today", current.len() as f64 / bytes as f64); + }; + + report("each delta lz4 independently", independent(&frames)); + report("one linked lz4 chain over the whole history", linked_chain(&frames).iter().sum()); + report("linked lz4 chain per node input", per_input_chains(&deltas, &frames)); + report("whole history as one lz4 frame (reference)", lz4_flex::frame::FrameEncoder::new(Vec::new()).write_and_finish(¤t)); + report("zstd chain level 3 (16 MiB window)", zstd_chain(&frames, 3).iter().sum()); + report("zstd chain level 9 (16 MiB window)", zstd_chain(&frames, 9).iter().sum()); + report("zstd chain level 19 (16 MiB window)", zstd_chain(&frames, 19).iter().sum()); + + // Only the new value: what a store that doesn't persist `reverse` would need. + let kinds: Vec> = deltas.iter().map(|delta| rmp_serde::to_vec(&delta.kind).unwrap()).collect(); + let kinds_total: usize = kinds.iter().map(Vec::len).sum(); + println!(); + println!("`kind` only (dropping `reverse`): {kinds_total:>9} bytes ({frames_total} with reverse)"); + report("linked lz4 chain over `kind` only", linked_chain(&kinds).iter().sum()); + + // Detail for the most-edited large input. + let key = |delta: &Delta| match &delta.kind { + RegistryDelta::ChangeNodeInput { + id, + index, + new_input: NodeInput::Value { .. }, + } => Some((*id, *index)), + _ => None, + }; + let mut per_key: HashMap<_, Vec> = HashMap::new(); + for (i, delta) in deltas.iter().enumerate() { + if let Some(k) = key(delta) { + per_key.entry(k).or_default().push(i); + } + } + let (k, indices) = per_key.iter().max_by_key(|(_, v)| v.iter().map(|&i| frames[i].len()).sum::()).unwrap(); + let payloads: Vec> = indices.iter().map(|&i| frames[i].clone()).collect(); + let ind = payloads.iter().map(|p| lz4_flex::block::compress(p).len()).collect::>(); + let lnk = linked_chain(&payloads); + let zst = zstd_chain(&payloads, 3); + let pred = predecessor_only(&payloads, 3); + println!(); + println!("largest input {k:?}: {} versions", payloads.len()); + println!(" {:>4} {:>8} {:>7} {:>10} {:>10} {:>11} {:>9} {:>10}", "#", "raw", "growth", "lz4-indep", "lz4-suffix", "zstd-suffix", "zstd/new", "pred-only"); + let mut prev_raw = 0; + for (i, ((((p, ind), lnk), zst), pred)) in payloads.iter().zip(&ind).zip(&lnk).zip(&zst).zip(&pred).enumerate().take(40) { + let growth = p.len() - prev_raw; + println!(" {i:>4} {:>8} {growth:>7} {ind:>10} {lnk:>10} {zst:>11} {:>8.1}% {pred:>10}", p.len(), 100.0 * *zst as f64 / growth as f64); + prev_raw = p.len(); + } + let growth_total = payloads.last().unwrap().len(); + let zst_total: usize = zst.iter().sum(); + let pred_total: usize = pred.iter().sum(); + println!(" new bytes total: {growth_total} lz4 suffix total: {} zstd suffix total: {zst_total} predecessor-only total: {pred_total}", lnk.iter().sum::()); + println!(" zstd suffix / new bytes: {:.1}% (compression overhead relative to storing only the raw new bytes)", 100.0 * zst_total as f64 / growth_total as f64); + println!(" predecessor-only / new bytes: {:.1}%", 100.0 * pred_total as f64 / growth_total as f64); + + // Predecessor-only over the whole history: group by input, each version sees only the previous + // version of the same input; non-value deltas are compressed standalone. + let mut by_input: HashMap<_, Vec>> = HashMap::new(); + let mut standalone = Vec::new(); + for (delta, frame) in deltas.iter().zip(&frames) { + match key(delta) { + Some(k) => by_input.entry(k).or_default().push(frame.clone()), + None => standalone.push(frame.clone()), + } + } + let pred_history: usize = by_input.values().map(|p| predecessor_only(p, 3).iter().sum::()).sum::() + standalone.iter().map(|f| predecessor_only(std::slice::from_ref(f), 3)[0]).sum::(); + report("predecessor-only zstd (per input, level 3)", pred_history); + + // Same estimate over the whole history: "new bytes" = growth vs. the previous version of the same + // input, or the full frame for the first version / non-value deltas. + let mut last_len: HashMap<_, usize> = HashMap::new(); + let mut new_bytes_total = 0; + for (delta, frame) in deltas.iter().zip(&frames) { + new_bytes_total += match key(delta) { + Some(k) => { + let prev = last_len.insert(k, frame.len()).unwrap_or(0); + frame.len().saturating_sub(prev) + } + None => frame.len(), + }; + } + let zstd_total: usize = zstd_chain(&frames, 3).iter().sum(); + println!(); + println!("whole history: new bytes {new_bytes_total} zstd chain {zstd_total} ratio {:.1}%", 100.0 * zstd_total as f64 / new_bytes_total as f64); + + // Micro-bench: time to get at the *last* payload. For the streaming chain that means decoding the + // entire stream (block n references everything before it); for predecessor-only it means walking the + // per-input chain from version 0. + let iterations = 100; + println!(); + println!("decode-to-last-payload, {iterations} iterations (debug build):"); + + let (_, chain_largest) = zstd_chain_with_output(&payloads, 3); + let expected_last = payloads.last().unwrap().len(); + bench(&format!("zstd chain, largest input ({} versions, {} B)", payloads.len(), chain_largest.len()), iterations, || { + let decoded = zstd::decode_all(chain_largest.as_slice()).unwrap(); + assert_eq!(decoded.len(), payloads.iter().map(Vec::len).sum::()); + expected_last + }); + + let pred_frames = predecessor_only_frames(&payloads, 3); + let pred_bytes: usize = pred_frames.iter().map(Vec::len).sum(); + bench(&format!("predecessor-only, largest input ({} frames, {} B)", pred_frames.len(), pred_bytes), iterations, || { + let last = decode_predecessor_chain(&pred_frames); + assert_eq!(&last, payloads.last().unwrap()); + last.len() + }); + + let (_, chain_all) = zstd_chain_with_output(&frames, 3); + bench(&format!("zstd chain, whole history ({} deltas, {} B)", frames.len(), chain_all.len()), iterations, || { + let decoded = zstd::decode_all(chain_all.as_slice()).unwrap(); + assert_eq!(decoded.len(), frames_total); + frames.last().unwrap().len() + }); + + let lz4_all = lz4_flex::frame::FrameEncoder::new(Vec::new()).write_and_finish_bytes(¤t); + bench(&format!("lz4 whole history, for reference ({} B)", lz4_all.len()), iterations, || { + let mut out = Vec::with_capacity(current.len()); + std::io::copy(&mut lz4_flex::frame::FrameDecoder::new(lz4_all.as_slice()), &mut out).unwrap(); + out.len() + }); +} + +trait WriteAndFinish { + fn write_and_finish_bytes(self, bytes: &[u8]) -> Vec; + fn write_and_finish(self, bytes: &[u8]) -> usize; +} +impl WriteAndFinish for FrameEncoder> { + fn write_and_finish_bytes(mut self, bytes: &[u8]) -> Vec { + self.write_all(bytes).unwrap(); + self.finish().unwrap() + } + fn write_and_finish(self, bytes: &[u8]) -> usize { + self.write_and_finish_bytes(bytes).len() + } +} + +/// Baseline: every payload compressed on its own, no shared context. +fn independent(payloads: &[Vec]) -> usize { + payloads.iter().map(|p| lz4_flex::block::compress(p).len()).sum() +} + +/// Streaming approach: one linked frame, `flush()` after each payload. +/// The bytes emitted between two flushes are the suffix that would be stored for that block. +fn linked_chain(payloads: &[Vec]) -> Vec { + let mut frame_info = FrameInfo::new(); + frame_info.block_mode = BlockMode::Linked; + let mut encoder = FrameEncoder::with_frame_info(frame_info, Vec::new()); + + let mut sizes = Vec::with_capacity(payloads.len()); + let mut previous = 0; + for p in payloads { + encoder.write_all(p).unwrap(); + encoder.flush().unwrap(); + let len = encoder.get_ref().len(); + sizes.push(len - previous); + previous = len; + } + // The end mark is stored once for the whole chain, not attributed to any block. + encoder.finish().unwrap(); + sizes +} + +/// Same as [`linked_chain`] but with zstd streaming and a window large enough to hold many +/// previous versions (`window_log` 24 = 16 MiB). `flush()` emits a zstd block boundary without +/// resetting the window, so the bytes between flushes are the suffix for that payload. +fn zstd_chain(payloads: &[Vec], level: i32) -> Vec { + zstd_chain_with_output(payloads, level).0 +} + +fn zstd_chain_with_output(payloads: &[Vec], level: i32) -> (Vec, Vec) { + let mut encoder = zstd::Encoder::new(Vec::new(), level).unwrap(); + encoder.window_log(24).unwrap(); + // Long-distance matching finds the "previous payload as prefix" match even far back. + encoder.long_distance_matching(true).unwrap(); + + let mut sizes = Vec::with_capacity(payloads.len()); + let mut previous = 0; + for p in payloads { + encoder.write_all(p).unwrap(); + encoder.flush().unwrap(); + let len = encoder.get_ref().len(); + sizes.push(len - previous); + previous = len; + } + let out = encoder.finish().unwrap(); + (sizes, out) +} + +/// Predecessor-only, but also returning the compressed frames so they can be decoded back. +fn predecessor_only_frames(payloads: &[Vec], level: i32) -> Vec> { + use zstd_safe::{CCtx, CParameter}; + let mut frames = Vec::with_capacity(payloads.len()); + let mut previous: &[u8] = &[]; + for p in payloads { + let mut cctx = CCtx::create(); + cctx.set_parameter(CParameter::CompressionLevel(level)).unwrap(); + cctx.set_parameter(CParameter::WindowLog(24)).unwrap(); + cctx.set_parameter(CParameter::EnableLongDistanceMatching(true)).unwrap(); + cctx.ref_prefix(previous).unwrap(); + let mut out = Vec::with_capacity(zstd_safe::compress_bound(p.len())); + cctx.compress2(&mut out, p).unwrap(); + frames.push(out); + previous = p; + } + frames +} + +/// Walk a predecessor-only chain from the first frame to the last, returning the last payload. +fn decode_predecessor_chain(frames: &[Vec]) -> Vec { + use zstd_safe::DCtx; + let mut previous = Vec::new(); + for frame in frames { + let size = zstd_safe::get_frame_content_size(frame).unwrap().unwrap() as usize; + let mut out = Vec::with_capacity(size); + { + // `DCtx<'a>` borrows the prefix until dropped, so it must go before `previous` is reassigned. + let mut dctx = DCtx::create(); + dctx.set_parameter(zstd_safe::DParameter::WindowLogMax(24)).unwrap(); + dctx.ref_prefix(&previous).unwrap(); + dctx.decompress(&mut out, frame).unwrap(); + } + previous = out; + } + previous +} + +fn bench(label: &str, iterations: u32, mut f: impl FnMut() -> usize) { + let mut checksum = 0; + let start = std::time::Instant::now(); + for _ in 0..iterations { + checksum = checksum.max(f()); + } + let elapsed = start.elapsed(); + println!(" {label:<52} {:>9.3} ms / iter (last payload {checksum} bytes)", elapsed.as_secs_f64() * 1000.0 / iterations as f64); +} + +/// Each payload compressed as its own zstd frame, with only its immediate predecessor supplied as a +/// prefix dictionary (`ZSTD_CCtx_refPrefix`). No stream state is shared: decoding version `n` needs +/// just the raw bytes of version `n-1`. `window_log` must cover prefix + payload for the match to be +/// representable. +fn predecessor_only(payloads: &[Vec], level: i32) -> Vec { + use zstd_safe::{CCtx, CParameter}; + let mut sizes = Vec::with_capacity(payloads.len()); + let mut previous: &[u8] = &[]; + let mut out = Vec::new(); + for p in payloads { + let mut cctx = CCtx::create(); + cctx.set_parameter(CParameter::CompressionLevel(level)).unwrap(); + cctx.set_parameter(CParameter::WindowLog(24)).unwrap(); + cctx.set_parameter(CParameter::EnableLongDistanceMatching(true)).unwrap(); + cctx.ref_prefix(previous).unwrap(); + out.clear(); + out.reserve(zstd_safe::compress_bound(p.len())); + let n = cctx.compress2(&mut out, p).unwrap(); + sizes.push(n); + previous = p; + } + sizes +} + +/// One linked chain per `(node, input)` for value changes; everything else goes into a shared chain. +/// Keeps consecutive versions of the same value adjacent in the window regardless of interleaving. +fn per_input_chains(deltas: &[&Delta], frames: &[Vec]) -> usize { + let mut groups: HashMap, Vec>> = HashMap::new(); + for (delta, frame) in deltas.iter().zip(frames) { + let key = match &delta.kind { + RegistryDelta::ChangeNodeInput { + id, + index, + new_input: NodeInput::Value { .. }, + } => Some((*id, *index)), + _ => None, + }; + groups.entry(key).or_default().push(frame.clone()); + } + groups.values().map(|payloads| linked_chain(payloads).iter().sum::()).sum() +} diff --git a/tools/compression_test/value-diff-test.gdd b/tools/compression_test/value-diff-test.gdd new file mode 100644 index 0000000000000000000000000000000000000000..16d2ddd2728b7882144fdd93a24887ada1f1f79e GIT binary patch literal 95492 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