{
  "baseline": "long-20261109",
  "date": "2026-11-09",
  "baseline_commit": "5ecb52fe03558e6165d97c3d76be6ade0f42d150",
  "source_state": "Working tree on top of baseline_commit (uncommitted): the v0.2.12 CHANGELOG.md entries. sha256 identifies the measured sources.",
  "c_library": "zstd 1.5.7 (zstd-ffi vendored submodule f8745da6ff1ad1e7bab384bd1f9d742439278e99), cc -O3, ZSTD_DISABLE_ASM, ZSTD_LEGACY_SUPPORT=0, single-threaded",
  "rustc": "rustc 1.99.1 (58cf8f9c3 2026-10-13)\nbinary: rustc\ncommit-hash: 58cf8f9c35b355199727627d07ae34a4e2846d67\ncommit-date: 2026-10-13\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.1\nLLVM version: 23.1.1",
  "c_compiler": "cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0",
  "kernel": "Linux 7.0.0-42-generic #42-Ubuntu SMP PREEMPT_DYNAMIC Thu Oct 15 08:06:44 UTC 2026 x86_64",
  "target": "x86_64-unknown-linux-gnu",
  "cpu": "AMD Ryzen 9 7950X",
  "affinity": "Linux KVM guest with two vCPUs: the encoder suite, then the decoder suite, each in one Criterion process pinned to vCPU 1; nothing else ran in the guest. Other tenants loaded the host: a fixed C decode varied by 8-43% (p10-p90 wall time) through the day, so sampling was lengthened to average over the noise.",
  "rustflags": "unset; Cargo release defaults (bench profile), runtime SIMD dispatch (AVX-512 level on this host; the decoder runs its block loops at the AVX2 level)",
  "api_mode": "cold one-shot APIs: construction, allocation, the call and disposal",
  "levels": "-5, -1, 1-22",
  "versions": {
    "c-zstd": "1.5.7",
    "mzstd": "0.2.12"
  },
  "sampling": {
    "samples": 50,
    "warmup_seconds": 3,
    "requested_measurement_seconds": 6,
    "bootstrap_resamples": 100000,
    "confidence_level": 0.95,
    "note": "Criterion defaults otherwise; Criterion extends slow cases to collect all samples."
  },
  "plotting": "Matplotlib 3.10.8",
  "size_manifest": "encoder-comparison-2026-11-09/sizes.csv",
  "criterion_samples": "encoder-comparison-2026-11-09/criterion-samples.json.gz",
  "reproduction_command": "cd benchmarks/comparison && taskset -c 1 target/release/deps/encoders-<hash> --bench --save-baseline <fresh-name> --sample-size 50 --warm-up-time 3 --measurement-time 6 --noplot",
  "measured_binary": {
    "name": "encoders",
    "sha256": "f061f915d13887168e9edaa6c8466897695a122098e3c391d03be83f2966e586"
  },
  "sha256": {
    "Cargo.lock": "ce4c9ad2ae5c591e656b3deb39bdf40eb318c2cddd206335824bcc76383c4094",
    "Cargo.toml": "c42d2e05252d776fe5f4be2e7720f8335928fa0c896e304f4bdfb63d58176dd5",
    "benchmarks/comparison/Cargo.lock": "3508a6ae2d3958e2d580b59a86de3ee063fd04d48c04e6b6c38ce9ada7d0a4e1",
    "benchmarks/comparison/Cargo.toml": "c840774ee396e5d78a32e0e9c7ee27625796900ce7765f625dc522c88c780295",
    "benchmarks/comparison/src/bin/profile.rs": "8b773a8b8e8caaacb564e341f9d387546885ca0884cccf98c3838297015d5b53",
    "benchmarks/comparison/src/bin/warm.rs": "2731f420a1a390e7cdcf0983ac9a1908087396436850adbe678e5d9b09a0471d",
    "benchmarks/comparison/src/core.rs": "7e5a6e28d9ae7cd3eb144f5fc9dd4472e4a1a1244ced7967a9f11a611fbff005",
    "benchmarks/comparison/src/core/decoder.rs": "45d530f1ffa287c3ab9c5e6d6483f6ccf8a23574ec0f7d9a18d42548d1231d9b",
    "benchmarks/comparison/src/core/profile.rs": "300ec38fc6d1d26b24d41b4662226fb87ea047e2209efa2fcdfc618c247bb3b0",
    "benchmarks/comparison/src/lib.rs": "1af6057f293ef98abc889606334d4ccbaacb921b8b14689f20181c860482eb04",
    "src/backend.rs": "f439a45954d1052efeca7665693f41fb4c7e94c2e53332d618862f2f896ffa72",
    "src/compressor/config.rs": "f2fb8ff72bc15a5ebcc750247d4df8da670b3ad135d709b43f78414197fbe74d",
    "src/compressor/core/block.rs": "f9fe62b9a4bc5dcc18ee49aa8509d99839437bafe6ccec63dce68e9896497bbf",
    "src/compressor/core/cctx.rs": "0c0ead28636730de4f3ada40e55bb0f7ba4b2b214971e9abd36162a356227b59",
    "src/compressor/core/cdict.rs": "cf752145a11294b3a0c9d0e46c26b386918a85226f3fc9f6e529b4078e060b0a",
    "src/compressor/core/dict_tests.rs": "f7648edcd39b8373a979dc4e26f80682e4d58e1924859e7134d25e6d4542e2e3",
    "src/compressor/core/double_fast.rs": "8cf03d7453c0668590fe57c3e4e3e09d083cc75467d7324a84f2db4bd3ac8076",
    "src/compressor/core/entropy/bits.rs": "15f463ef36861facd3ffcc49fd9ec1317e7e7cee7c0c526723b830b9aa703a21",
    "src/compressor/core/entropy/fse.rs": "1b29d86ae2bcd0015d70746f450a63084ea1007c42ff6a31671f0dd349315d40",
    "src/compressor/core/entropy/hist.rs": "2ef245563c9db6ac35a91695508432bd1f518feb881651f9c23bfce280b0571b",
    "src/compressor/core/entropy/huf.rs": "79ec060e93b0a7f9ea1ee20b8c6e1e1faf963adb8ca9b5b7e124091beb783073",
    "src/compressor/core/entropy/literals.rs": "9ea57864047cf760da8abdff1dcefe1c3b6fdfda66ab0b7517160e96e9aa2164",
    "src/compressor/core/entropy/mod.rs": "d61f7accfe0b3144ca918733a58b5e0b79219013e6f2aeb6072bd6eddd10e518",
    "src/compressor/core/entropy/read.rs": "656efd3937c83632d5301cf438fc64f452a5b485ca3466a094cd2baf71cbfdbd",
    "src/compressor/core/entropy/sequences.rs": "1d5bb4b6a14d4b14a7988f76d2f67c464dbe5671872a1aa106d990b83926a077",
    "src/compressor/core/error.rs": "eac1fdf645414925a5cae4d3c6e46550fa91626ea36de4422e2b3e599397950b",
    "src/compressor/core/fast.rs": "e33d985fb1c9bbf57ae3eba8575be1c4f4e16699e67d8be6c0881999b645ae26",
    "src/compressor/core/lazy.rs": "f91fa12723cc4a43ec154f06ec96385eaccef1946a62494b83db332788465167",
    "src/compressor/core/lazy/count.rs": "1c41464663b54272c629827eb4a768e297ef8ce3d8bcb2a7ad1d26810490793b",
    "src/compressor/core/lazy/row.rs": "33312c92026d91552f43906c78cba94d9c4b033deb0896846a50d69707f8fe71",
    "src/compressor/core/lazy_box.rs": "e4d93ffc578fb054cf28e8e486f8009f9d4b8d1503264dad76e17f27112efe32",
    "src/compressor/core/ldm.rs": "c2f97681c5876d1a6ead032aed37345b60e8c29919f8bcd2aa3d02766a1fe5a5",
    "src/compressor/core/ldm_geartab.rs": "1fa26c698b9e5f526447d2d9b488647afc7460d76aebd0c0135a5aa02ec2f87d",
    "src/compressor/core/match_state.rs": "772c495ff45a1b689da63f482e6101bf80be16788530428da03f0ef4b650d556",
    "src/compressor/core/mem.rs": "741052437617bc50c6708c483ddc32cecd2d961618598a45bcc214e111088b3c",
    "src/compressor/core/mod.rs": "6d2a6ccedb95820c1d1ce7d73691f1e7326e5274d41fe6b62beb94da3f842d72",
    "src/compressor/core/opt.rs": "de1ac9f248721af0c9fbfe461f68f46287adbe1a47bde52ff2f1969ebad9575d",
    "src/compressor/core/opt_count.rs": "cefd439aa0ad6aba3a9e5fd81b70713b2ab7af5a9ce7ceaf03a475130aa4d799",
    "src/compressor/core/output.rs": "44df637fca5ebfb9e8c2e5c1f841f13ccd99d259ae1ee9335591a796a5fe5a38",
    "src/compressor/core/params.rs": "cc028d0200377913af68a7780e7d06b62f74a6c31472930bae79c182bea0dd5d",
    "src/compressor/core/presplit.rs": "5a18616c65818747ad7141c6967a30ca028a9d937831941af3388d36ffae45be",
    "src/compressor/core/seq_store.rs": "d764df0c44717b9564c0372543508bb4acf793b88eb9423f2220edf2143c988b",
    "src/compressor/core/split_block.rs": "9ec6451c9fc1f4ef41cc5507a22c59257b20edc403114f528584d9ad83951ad5",
    "src/compressor/core/stream.rs": "4bf6aa4d3b2da0a49df28c75e283ec073cbe6863a58d33976473118c35b17c7e",
    "src/compressor/core/window.rs": "adb81c40a088b871c7d3f867a8b1359410f81fc564048c1d7be86c8b95234f93",
    "src/compressor/dictionary.rs": "36926e9e31b52c235d493b46b5e7a10dd81c31ba9fc152c4125315d441ce3d15",
    "src/compressor/encoder.rs": "ee886b2178e79d1ddb7cd5508e1d0993a626daced6de49bd55ebf8378cccbdbb",
    "src/compressor/error.rs": "084bbdccaf027fe4adef873354b58615811034e67d80247401778f74179db814",
    "src/compressor/framing/config.rs": "ba423d72ab30e8bf29e323ff39d97d27320fa0e5f5a31945a42c47ef150a94e8",
    "src/compressor/framing/core/driver.rs": "96c4f8f838f587de007b95e0cc9b63de17718ca77145744a62f7adfe521f00f7",
    "src/compressor/framing/core/engine.rs": "a635a4aabcec93b4a89a7ff4a125eaf0fdc1825afcc531d7670bf5a2d4951d36",
    "src/compressor/framing/core/metadata.rs": "4d2e7182e56240d3a6e93927ecd58ff9460cee6d7bd8e0eb1dbc74b375c4f257",
    "src/compressor/framing/core/mod.rs": "7b6bf7b1abee0a8ed09b5e29266b8f934d694e5c87ac07e82e76e99c080b7e09",
    "src/compressor/framing/core/resource.rs": "d5cb9d31706486b4cd6fb8965fd4280c47036a9084d89316a5cc38a6e73e3d30",
    "src/compressor/framing/error.rs": "38401559a346e073ef58fab9af0980635c844d4d13cd372416bd559d33175edf",
    "src/compressor/framing/input.rs": "3c5c8f2e1e2644755aba4e93d86f42954a0d9557bc2801d3d3159602d2837005",
    "src/compressor/framing/mod.rs": "ff7e97deb21b42b2b736a6776dd77b011e4aca345e74b5150878a4ca1a474e9c",
    "src/compressor/framing/owner.rs": "a8c1fe5d515de249402c4878fd669377ee9641c29afc87ab9a653dc57d7e8f89",
    "src/compressor/framing/reader.rs": "fce96fc8f22820f0e2f2d228b23006c89c59a428beb533b7ef45f16aca7386be",
    "src/compressor/framing/session.rs": "b431502fc66d83f132ce04cca3c88c267fea86fae3313b6461d32a38caa998e6",
    "src/compressor/framing/writer.rs": "e027d13e19f06c266c4a975982c124c8bacce431a99a5b4f667484e54a1f9278",
    "src/compressor/internal.rs": "3bfbb745355dbf258e3cebd447ef759806f68668e6028935ec337668f36e8bfc",
    "src/compressor/io/mod.rs": "77ff04062c59f82d26419f76c771a3e2bf38d10334fd6daf6c1cbc714f8886be",
    "src/compressor/io/reader.rs": "f448145fb3fa31acf16170ac2d9a7fd3e8a868f7efecbc4b0f1e7e205e25b10d",
    "src/compressor/io/writer.rs": "53c1f25d62e36dde0def62d731e97a07e7a1a4334c99abe8d8f4a000091d1197",
    "src/compressor/mod.rs": "c5422db61b380aadac6f14d7fd33a015f526ad94ace36b90ddf18b72a2fb86de",
    "src/compressor/parallel/core/mod.rs": "48703501f712bed8cc12bb13c377e0ab268a43327f7080c3ac132560563cafb2",
    "src/compressor/parallel/core/source.rs": "4b247cc5a5fef4f7e5e58c566207d18610e97722d7938160998b48d6a3d2e652",
    "src/compressor/parallel/core/stream.rs": "2b5347d185da0fab7b743f17e8b5bbf17c026a4156323d69cd69a67ad08566f8",
    "src/compressor/parallel/error.rs": "12fcef51692510f696cf958e8998a1d09fa48826197ccc20c603e89a6de91626",
    "src/compressor/parallel/io/mod.rs": "7ae35218fa763feebb21d227306489a93e665fc210e0daa5e621e1068c262816",
    "src/compressor/parallel/io/reader.rs": "aa4dec32878ff92cb5c0da081f04dbd0b99f356f5671e2917c6e0cbb42d224f1",
    "src/compressor/parallel/io/writer.rs": "23182ff2a76c506434be76f203d9b843dbbee55a3bb1080a8a0e25c986030d30",
    "src/compressor/parallel/mod.rs": "98860732503dcf1b4239ec5f2528351cb8db192ff3c52f251835393959f3d2c0",
    "src/compressor/parallel/session.rs": "8d09536decd82d0b4c800d3eb0fa56d79cce76fe071014a2f53032052ba9edce",
    "src/compressor/parallel/source.rs": "acd89e4e3eb2f514f9659df6bca6c5ad284592cfbe9f99b741822700ad025358",
    "src/compressor/session.rs": "1585a1a014627d5e905fd2eba4912aa896db6e15d5f6d126e31873739d2cba05",
    "src/decompressor/config.rs": "25c6e5ca46ecb77a1ccfc0b047c550af8b0ce76fd32017238304970accf2c493",
    "src/decompressor/core/ahead.rs": "696cc63d5d2e78fb8244f6d4125b74501632aed7ca9b20ca5fc3618ded899383",
    "src/decompressor/core/bits.rs": "de2625aa798cdc1f1ca730a1cd3b64e4848f5b435076a77e43fdb1daf21b8c77",
    "src/decompressor/core/block.rs": "b85256d3d973c6ab8207725d9fe29313f8cc3daab54f3122ffc4cc56e0aeea84",
    "src/decompressor/core/copy.rs": "86ba22099777c4ea30150cc206f90d8ed2f42a9d98e9a162f1a4b75806232733",
    "src/decompressor/core/dictionary.rs": "fd73b3f37297454dc2ecddd9520af3ba565ba72efa48ba35601cdcdd28f3a8d2",
    "src/decompressor/core/frame.rs": "cd277da5c8cc99dc65a9c488db6e814e9d186732753be58a3f17dd1011a5deeb",
    "src/decompressor/core/fse.rs": "9ba1d49bd172e47e5d2a532b5b6b330f3d018675836e77212279c2096dd5f0c6",
    "src/decompressor/core/history.rs": "393ad3c565e6fbb88851ccc7c8c2c5e1b59a98ca5b3e8143f212e24fa3c1a033",
    "src/decompressor/core/huffman.rs": "88ac3687726bd9cf5e1e957d6e8d72ae6a7d9e48dfaed542b0d44185789e7d81",
    "src/decompressor/core/literals.rs": "b3ad3534d3575728430845a0c2c8e02ace0920056a94891d141fb7d7cb536917",
    "src/decompressor/core/mod.rs": "426f69ef0cd1905a1aa6cb2b508e02f6b367386b3cee38ec38fdf1a1d9c3793d",
    "src/decompressor/core/sequences.rs": "53f2197856e05bad0535e9193c6db6c5f075de167a2e35dcba556025b6d858dd",
    "src/decompressor/core/stream.rs": "9794880906f48539bb5ba2f4644f0efd5da79469a9ca88a88c2c8017a33a93dd",
    "src/decompressor/decoder.rs": "178e6a59ccdf3509ac8126e944beef702acc7a43905960cab4f5f194b891bbd0",
    "src/decompressor/error.rs": "f1f46289f406c9fe03f8efa86286b9a23fe8663456f4f2b2baf87a6a2f5aa881",
    "src/decompressor/framing/config.rs": "925189e7b704529d1c3179b218a292c3587d516c553330d0c405aa736c9381c2",
    "src/decompressor/framing/core/mod.rs": "eebb13e6dc27697d8c71c530cd657423c23cf8360d20f79853d98b213a0af2e4",
    "src/decompressor/framing/core/seek.rs": "ca84f37713ef6d835a3566353b5d238ed5d82ca39e7a122e31ffcb9e4022ed2e",
    "src/decompressor/framing/core/wire.rs": "898c36c920244ac68f905f577654a6134830589b912f0784704fc8204ba87ff2",
    "src/decompressor/framing/error.rs": "69e6194c6e96360808a19ddf8fac2b61855d1cbb62f4fac4c02830b380e1a43a",
    "src/decompressor/framing/mod.rs": "c4856b1d5a253d335d804e9b719059489782839aae0169ff9d9967f9551fdb47",
    "src/decompressor/framing/owner.rs": "8f2ed4820f267590181bac40bb825cb2b9fc316d956d1deeac6941d6d4a9d237",
    "src/decompressor/framing/reader.rs": "e95677dd41ef32adbc4884421ce9cc59144c20fd63564095f256d7638711f97c",
    "src/decompressor/framing/seek.rs": "48668669ea6730c5279b70f657d772967e88362bb23acf0512c781f77235b310",
    "src/decompressor/framing/session.rs": "d56f5cd7d17a224ca07f579aced5298f3f3cdc95601b7a8293acb7e3fb04104d",
    "src/decompressor/framing/types.rs": "58f3acd6d02555abeac7cae629c0fed9721bebef021b5276a9dfd04bff411e43",
    "src/decompressor/io/mod.rs": "4ed7a32110640cca731faf6a2adc3dbe4e575c6577f79fa8cb36bccf209a3ac7",
    "src/decompressor/io/reader.rs": "9bb59a675db2c596457809577fcb52f408d1fce74a0045c01adac35dbd2ec586",
    "src/decompressor/io/writer.rs": "acd18eed6bc14560be5a932036011b131389ba3278f4487344e494acf894483d",
    "src/decompressor/mod.rs": "fb49ab81aa174271f4ed2e00c6e76127c79012265923eccc59e28fd3e59bc46f",
    "src/decompressor/session.rs": "70c1b0923ac44cb6227ab324b40b2112e77c9bff62b1352776a4961b3d1c3596",
    "src/dictionary/decode.rs": "c747b4d41518eacbe5db3a6d2bbfe8afcb06325fa21b3ce7b851ebdec0594a2a",
    "src/dictionary/mod.rs": "cdf1a6aa65236dddab7990e1025140792515e9a42e429e13abba832440503d0e",
    "src/finish_error.rs": "8f2a27601ae1e099ede4edc2c93ce27e74ff5ee0ee8ef226538c903ed625a9b3",
    "src/framing/core.rs": "a7d62d02146f878b95bd6c202ee937fa70cee6327734d26fb7c558f2ede44369",
    "src/framing/mod.rs": "aa240dcf4734910616a930c7690b6ea0d08eef98e26e8826a4fd3886abbc6cd8",
    "src/io.rs": "82c8c46eb6efc48e525ed34e7b6917687c8fa3010843080f64e6542dd4647716",
    "src/lib.rs": "ccef80233e121fc636a99a3bb0e41f51e27fc72dbb14d6af7107273196f4bac0",
    "src/retention.rs": "2e2dc77640f6a1e4aa8afeb721bb53b7aee077e9cd8370f6a946ed9065038e86",
    "src/shared/format.rs": "7cb7c28751daa5f65fe515f4f413401f2ec9fdf316166705e5b40498883149cf",
    "src/shared/mod.rs": "8cea57295a1d109b9d28ec0fd684e521f495ad5a7dc9a75f3a2fd0cdeb803f83",
    "src/shared/xxhash.rs": "47bd2cc6aed755c8cfa42d280f8b3d7fbb930d48f7ea333dbf3a84f3c3a53238",
    "zstd-ffi/build.rs": "304f6b1644053f81e6187614d4272d409a524d83f198ed2468a8dc32ad0584c2"
  },
  "limitations": [
    "Single complete sweep on one KVM guest; frequency, thermal state and host scheduling uncontrolled. The guest shares its host's caches with other tenants.",
    "C then mzstd run consecutively per case in a fixed order inside one Criterion process. Individual mean confidence intervals do not account for all host variation or multiple comparisons.",
    "Every corpus/level pair has equal weight, including empty and tiny input; the median describes this corpus, not a production workload.",
    "Cold APIs include allocation and the allocator state the process has reached, including glibc's dynamic mmap and trim thresholds.",
    "The C library is built by zstd-ffi with cc defaults and without its Huffman assembly decoder."
  ],
  "started_at_utc": "2026-11-09T15:08:37Z",
  "finished_at_utc": "2026-11-09T16:18:29Z",
  "artifact_sha256": {
    "encoder-comparison.csv": "87b82f82970057e24250ccec2bca44154128690f618e0fb0090e6e1a08243535",
    "encoder-comparison-2026-11-09/sizes.csv": "e0498876dc163069bf306442d99b9f277a339e69305dbc42fa571a598d0dd525",
    "encoder-comparison-2026-11-09/criterion-samples.json.gz": "baf628ae1e316c18d83cdac3368c937eeb1820d5d12194abe0a048393c5fcd1a"
  }
}
