Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/znippy

xtask/Cargo.toml

[package]
name = "xtask"
version = "0.1.0"
edition = "2021"
publish = false

[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# `cargo xtask build` — THE one build verb (src/main.rs). Its whole body is
# `nornir_build_thing::suite_cli::run(repo_root, &args)`, which turns (suite, atom)
# into a cargo invocation by READING `.nornir/build-variants.toml`; this crate
# contributes no variant name, no feature string and no bin name of its own.
#
# Dep-light by design (serde/anyhow/sha2/chrono — the same leaf compiles to the wasm
# plugin sandbox), so the build verb still compiles in a blink even though this
# package's DEV-dependencies below are the heavy bench graph: `cargo run -p xtask`
# builds none of those.
#
# `version` + `path` like nornir's and korp's xtasks, pointing at the same directory
# the workspace's existing `nornir` dev-dep edge already resolves nornir-build-thing
# 0.1.4 through — so this adds an EDGE to that node, not a new copy of it. (The lock
# also carries a registry nornir-build-thing 0.1.3, pulled by a crates.io consumer
# elsewhere in the graph; that one predates the `suite_cli` / `Role::Tool` API and is
# untouched by this — stated plainly rather than claimed away.)
nornir-build-thing = { version = "0.2.0", path = "../../edda/crates/nornir-build-thing", default-features = false }
anyhow = "1"

[dev-dependencies]
nornir = { path = "../../nornir", features = ["fixtures-maven"] }
anyhow = "1"
serde_json = "1"
# Iterate the bench registry for the focused-run path (ZNIPPY_BENCH_ONLY); same
# version nornir uses so the inventory::collect! slice is shared.
inventory = "0.3"
osm-katana = { path = "../../znippy-zoomies/osm-katana" }
lbzip2 = { path = "../../znippy-zoomies/lbzip2" }
lgz = { path = "../../znippy-zoomies/lgz" }
ljar = { path = "../../znippy-zoomies/ljar" }
lzip-parallel = { path = "../../znippy-zoomies/lzip-parallel" }
# Raw SIMD-DEFLATE core head-to-head: linflate vs miniz_oxide, single stream.
linflate = { path = "../../znippy-zoomies/linflate" }
miniz_oxide = "0.9"
# The ONE synthetic ZIP/JAR writer (method 0 + method 8), shared with the tests
# crate. The maven bench used to carry its own stored-only copy, which is why it
# timed central-directory parsing and never an inflate (LAW 5).
znippy-zip-fixtures = { path = "../znippy-zip-fixtures" }
znippy-zoomies = { path = "../../znippy-zoomies" }
znippy-common = { path = "../znippy-common" }
znippy-compress = { path = "../znippy-compress" }
# Iceberg metadata-sink throughput bench (znippy.iceberg_compress).
znippy-iceberg = { path = "../znippy-iceberg" }
znippy-plugin-maven = { path = "../plugins/native/znippy-plugin-maven", features = ["host-decompressors"] }
# The `znippy.git_*` arms. `bench-kernels` carries the measured workloads (and
# the fst rival + the binary-search baseline the stree keyspace is compared
# against); it is OFF by default so none of it reaches a shipped archiver.
znippy-plugin-git = { path = "../plugins/native/znippy-plugin-git", features = ["bench-kernels"] }
tempfile = "3"
# Planet geo→arrow stage streams parquet → Arrow IPC (matches osm-katana 58.2.0).
# `ipc_compression` enables the zstd/lz4 codecs for the Arrow-IPC FileWriter — the
# rival side of the znippy-vs-(Arrow-IPC/zstd) mashup bench.
arrow = { version = "59", features = ["ipc_compression"] }
parquet = "59"
walkdir = "2"
dirs = "7"
memmap2 = "0.9"
io-uring = "0.7"
libc = "0.2"

# `cargo bench -p xtask` runs the same suite as `nornir bench run` (the
# examples/nornir-bench.rs source), emitting nornir's BenchRun JSON.
[[bench]]
name = "nornir"
harness = false