diff --git "a/reference-catalog.json" "b/reference-catalog.json" new file mode 100644--- /dev/null +++ "b/reference-catalog.json" @@ -0,0 +1,2622 @@ +{ + "schema_version": 1, + "updated_at": "2026-10-08T15:33:59.615978+00:00", + "methods": [ + { + "family": "ALP", + "display_name": "ALP", + "description": "ALP adaptively converts decimal-valued floating-point data to integers, separates values that cannot use the selected scale as exceptions, and frame-of-reference packs the integer stream. Decoding restores the scaled values and their exceptions.", + "reference_ids": [ + "M15" + ] + }, + { + "family": "ANS", + "display_name": "ANS", + "description": "Asymmetric Numeral Systems encodes a symbol sequence into an integer state using transitions determined by symbol probabilities. Frequent symbols consume less information, and decoding reverses those state transitions.", + "reference_ids": [ + "M48" + ] + }, + { + "family": "Arithmetic", + "display_name": "Arithmetic", + "description": "Arithmetic coding represents a whole symbol sequence by repeatedly narrowing a numeric interval according to the current probability model. Range-coder implementations emit bytes as the interval state is renormalized.", + "reference_ids": [ + "M51" + ] + }, + { + "family": "BOS", + "display_name": "BOS", + "description": "Bit-Packing with Outlier Separation isolates large residuals so the remaining block can use a narrow packed width, storing outlier positions and values separately. The project measures a BOS-inspired differencing and packing path.", + "reference_ids": [ + "M05" + ] + }, + { + "family": "BSC", + "display_name": "BSC", + "description": "libbsc applies block-sorting transforms, symbol recoding, and a statistical entropy back end to expose and encode repeated contexts. Presets select the preprocessing and coding choices for each block.", + "reference_ids": [ + "M54" + ] + }, + { + "family": "BSS+LZ4", + "display_name": "Byte-stream split + LZ4", + "description": "This project composition transposes floating-point words into separate byte planes, using a Parquet BYTE_STREAM_SPLIT-style layout so bytes in the same position become adjacent. LZ4 then compresses the transformed stream.", + "reference_ids": [ + "S01", + "M30" + ], + "notes": "S01 documents the BYTE_STREAM_SPLIT reference design and PPT M30 documents LZ4; the measured composition is the project's implementation." + }, + { + "family": "BUFF", + "display_name": "BUFF", + "description": "BUFF converts exactly representable decimal values to scaled integers, subtracts a block or column reference, and lays out the remaining low-width information in byte or bit planes. The project path retains a raw-bit fallback when exact decimal scaling is not available.", + "reference_ids": [ + "M24" + ] + }, + { + "family": "Blosc", + "display_name": "Blosc", + "description": "Blosc1 splits input into blocks and shuffles bytes by their position within each numeric word before invoking an inner codec. The measured configuration uses BloscLZ, and the Blosc container records the information needed to unshuffle and decode the blocks.", + "reference_ids": [ + "M52" + ] + }, + { + "family": "Blosc2", + "display_name": "Blosc2", + "description": "Blosc2 combines block partitioning, reversible filters, an inner compressor, and container metadata. The measured configuration uses byte shuffle followed by BloscLZ, arranging like-positioned bytes together before LZ matching.", + "reference_ids": [ + "M52" + ] + }, + { + "family": "BriefLZ", + "display_name": "BriefLZ", + "description": "BriefLZ searches previously decoded bytes for repeated strings and emits Lempel-Ziv distance/length references alongside literals. It packs the resulting symbols with a small universal code rather than a full entropy-coding stage.", + "reference_ids": [ + "M53" + ] + }, + { + "family": "Brotli", + "display_name": "Brotli", + "description": "Brotli combines LZ77 back-references with a built-in static dictionary and word transforms. Context models select prefix-code tables, and Huffman-style prefix codes encode literals, lengths, distances, and block-switch commands.", + "reference_ids": [ + "M28" + ] + }, + { + "family": "Bzip2", + "display_name": "Bzip2", + "description": "bzip2 applies run-length preprocessing and the Burrows-Wheeler block transform, then converts the transformed symbols with move-to-front and a second run-length stage. Multiple Huffman tables encode the final symbol stream.", + "reference_ids": [ + "M55" + ] + }, + { + "family": "Bzip3", + "display_name": "Bzip3", + "description": "bzip3 combines an LZP pass based on LZ77 matching and context prediction with run-length coding and a suffix-array Burrows-Wheeler transform. An order-0 context-mixing entropy coder encodes the transformed block.", + "reference_ids": [ + "M56" + ] + }, + { + "family": "CHIMP", + "display_name": "Chimp", + "description": "Chimp XORs a floating-point bit pattern with a previous reference and chooses compact control forms for unchanged values or nonzero residuals. Quantized leading-zero information and trailing-zero-aware significant-bit fields reduce the XOR metadata cost.", + "reference_ids": [ + "M01" + ] + }, + { + "family": "CORAD", + "display_name": "CORAD", + "description": "CORAD exploits correlation across time-series signals by representing values with a sparse shared dictionary and compact residual information. The benchmark's corad_tricklet path is a project adaptation that uses exact normalization and atom selection before its outer payload coding.", + "reference_ids": [ + "M23" + ] + }, + { + "family": "CSC", + "display_name": "CSC", + "description": "CSC is an LZMA-inspired block compressor that preprocesses byte streams, searches a dictionary for repeated strings, and parses the input into literals and LZ77-style matches. Context-adaptive range coding encodes the resulting symbols.", + "reference_ids": [ + "M58" + ] + }, + { + "family": "Camel", + "display_name": "Camel", + "description": "Camel classifies floating-point values into compact decimal or integer-delta records when possible and otherwise retains a literal/XOR representation. Tags and residual fields are packed into a chunked bitstream that lets the decoder reproduce the chosen representation.", + "reference_ids": [ + "M17" + ] + }, + { + "family": "Chimp128", + "display_name": "Chimp128", + "description": "Chimp128 searches a history of 128 recent values for an XOR reference that yields more trailing zeros, instead of always selecting the immediately preceding value. It stores the reference index and the residual in Chimp-style control and significant-bit fields.", + "reference_ids": [ + "M01" + ] + }, + { + "family": "Crush", + "display_name": "Crush", + "description": "CRUSH is an LZ77 compressor: it searches an earlier window for repeated byte strings and replaces them with distance/length copy tokens, while unmatched bytes remain literals. Its presets vary the match search and parsing effort.", + "reference_ids": [ + "M57" + ] + }, + { + "family": "DBP", + "display_name": "DBP (Delta + ZigZag + ULEB128)", + "description": "Project kernel that stores the first int64 value and encodes each subsequent delta with ZigZag + ULEB128. The Parquet DELTA_BINARY_PACKED specification is a reference design only; this implementation does not use Parquet blocks, miniblocks, minimum-delta frames, or miniblock bit packing.", + "reference_ids": [ + "M14" + ], + "notes": "Float benchmark rows preprocess values to integer lanes outside the timed kernel; scale and mode metadata are not part of this DBP payload." + }, + { + "family": "Density", + "display_name": "Density", + "description": "The measured Density path uses the Lion algorithm. Lion performs multiple swapped dictionary lookups and prediction steps, adapts its coding decisions to the current block, and rank-entropy-codes the resulting symbols.", + "reference_ids": [ + "M32" + ] + }, + { + "family": "Dictionary", + "display_name": "Dictionary encoding", + "description": "Dictionary encoding stores each distinct column value once and replaces occurrences with compact dictionary identifiers. The decoder reconstructs the column by looking up those identifiers in the stored dictionary.", + "reference_ids": [ + "M13" + ] + }, + { + "family": "Elf", + "display_name": "Elf", + "description": "Elf conditionally clears predictable mantissa suffix bits using decimal precision information, then XOR-encodes the modified floating-point words. Erasure metadata allows the decoder to recover the original represented values when the erasure rule applies.", + "reference_ids": [ + "M18" + ] + }, + { + "family": "Elf+", + "display_name": "Elf+", + "description": "Elf+ conditionally erases predictable floating-point mantissa suffix bits and then XORs consecutive words. It reuses an earlier leading/trailing-zero window when the new XOR fits, or transmits a new significant-bit window when it does not.", + "reference_ids": [ + "M19" + ] + }, + { + "family": "FPC", + "display_name": "FPC", + "description": "FPC predicts floating-point bit patterns with finite-context and differential finite-context tables, choosing the predictor with the smaller XOR residual. A predictor flag and leading-zero-byte count let it store only the residual bytes that remain significant.", + "reference_ids": [ + "M20" + ] + }, + { + "family": "FPCompress DPratio", + "display_name": "FPCompress DPratio", + "description": "The FPCompress DPratio configuration applies a ratio-oriented sequence of reversible transforms, including dictionary formation, differencing, bit packing, and run-length coding, to expose repeated and low-width structure in floating-point data.", + "reference_ids": [ + "M26" + ] + }, + { + "family": "FPCompress DPspeed", + "display_name": "FPCompress DPspeed", + "description": "The FPCompress DPspeed configuration uses a shorter data-parallel path centered on differencing and bit packing, reducing values to narrow residual fields while limiting transform overhead.", + "reference_ids": [ + "M26" + ] + }, + { + "family": "FPZIP", + "display_name": "FPZIP", + "description": "FPZIP predicts each floating-point value from nearby samples, represents the prediction difference compactly, and entropy-codes the resulting symbols. The benchmark uses the project's measured FPZIP path.", + "reference_ids": [ + "M25" + ] + }, + { + "family": "FSE", + "display_name": "FSE", + "description": "Finite State Entropy is a table-driven Asymmetric Numeral Systems coder. It normalizes symbol frequencies and uses a coding state, transition tables, and packed low-order bits to encode and decode symbols near their modeled entropy.", + "reference_ids": [ + "M49" + ] + }, + { + "family": "FastLZ", + "display_name": "FastLZ", + "description": "FastLZ uses byte-aligned LZ77 coding. A hash-based match finder turns repeated substrings into compact offset/length tokens and writes unmatched input as literal runs.", + "reference_ids": [ + "M59" + ] + }, + { + "family": "FastLZMA2", + "display_name": "FastLZMA2", + "description": "Fast LZMA2 retains LZMA2's dictionary matches, literal contexts, and range-coded symbol stream. Its encoder uses a buffered radix match finder and block state management to produce ordinary LZMA2 data.", + "reference_ids": [ + "M60" + ] + }, + { + "family": "FastPFor", + "display_name": "FastPFor", + "description": "FastPFOR packs most integers in a block at a selected narrow bit width and carries high-bit exceptions separately. Frame-of-reference offsets and SIMD-oriented packing reduce the width and support fast bulk decoding.", + "reference_ids": [ + "M08" + ] + }, + { + "family": "GLZA", + "display_name": "GLZA", + "description": "GLZA first applies data-aware preprocessing such as text capitalization coding or strided delta filtering when applicable. It recursively replaces profitable repeated sequences with grammar production rules, then encodes the resulting Grammatical Ziv-Lempel symbols with statistical models.", + "reference_ids": [ + "M34" + ] + }, + { + "family": "GORILLA", + "display_name": "Gorilla", + "description": "Gorilla value coding XORs consecutive floating-point bit patterns, emits a short code for repeated values, and reuses a previous significant-bit window when possible. The measured value kernel stores XOR control metadata and the remaining significant bits; the cited database design also describes timestamp coding.", + "reference_ids": [ + "M03" + ] + }, + { + "family": "GZIP", + "display_name": "gzip", + "description": "Gzip wraps a DEFLATE payload, whose LZ77 matches and literals are Huffman-coded, in a header and a CRC-32/original-size trailer. The wrapper supports concatenated members and stream-level metadata.", + "reference_ids": [ + "M27" + ] + }, + { + "family": "Gipfeli", + "display_name": "Gipfeli", + "description": "Gipfeli parses the input into LZ77 literal runs and distance/length matches. It separately models and entropy-codes literal data while packing match commands into a compact byte stream.", + "reference_ids": [ + "M33" + ] + }, + { + "family": "Huff0", + "display_name": "Huff0", + "description": "Huff0 builds a Huffman codebook and writes symbols as variable-length prefix codes. Its implementation divides coding work into multiple streams to expose parallel instruction execution during decoding.", + "reference_ids": [ + "M49" + ] + }, + { + "family": "Huffman", + "display_name": "Huffman", + "description": "Huffman coding assigns shorter prefix codes to more frequent symbols and longer codes to rare symbols. A canonical representation records code lengths so the decoder can reconstruct the codebook compactly.", + "reference_ids": [ + "M50" + ] + }, + { + "family": "Kanzi", + "display_name": "Kanzi", + "description": "Kanzi is a block-compression framework whose preset selects a transform chain, such as Burrows-Wheeler, text, multimedia, or LZ transforms. The transformed symbols are then passed to a selected entropy coder such as ANS, Huffman, or context modeling.", + "reference_ids": [ + "M61" + ] + }, + { + "family": "LECO", + "display_name": "LECO", + "description": "LeCo fits a lightweight linear model to each block and stores model parameters plus prediction residuals. The project path ZigZag-maps and bit-packs those residuals, with exceptions carried by its block representation.", + "reference_ids": [ + "M16" + ] + }, + { + "family": "LZ4", + "display_name": "LZ4", + "description": "LZ4 encodes each block as sequences of literal bytes followed by an offset/length copy from already decoded data. The framed form wraps these LZ4 blocks with stream and block metadata and optional checksums.", + "reference_ids": [ + "M30" + ] + }, + { + "family": "LZ4 Fast", + "display_name": "LZ4 Fast", + "description": "LZ4 Fast writes the standard LZ4 literal-and-match sequence format. Its acceleration setting makes the greedy hash-table parser skip more candidate positions, changing match selection without changing the decoder format.", + "reference_ids": [ + "M64" + ] + }, + { + "family": "LZ4HC", + "display_name": "LZ4HC", + "description": "LZ4HC writes the same LZ4 block tokens but spends more search effort on match chains and parsing choices before choosing distance/length copies. Decoding remains the standard LZ4 literal-and-match reconstruction.", + "reference_ids": [ + "M64" + ] + }, + { + "family": "LZAV", + "display_name": "LZAV", + "description": "LZAV is an in-memory LZ77 design that finds repeated substrings in a dynamic window and represents them with distance/length references interleaved with literal runs. Its stream is token based and does not add a separate entropy-coding stage.", + "reference_ids": [ + "M65" + ] + }, + { + "family": "LZF", + "display_name": "LZF", + "description": "libLZF uses a hash-indexed sliding window to find LZ77 matches. The output alternates literal runs with compact length/distance back-references and does not apply a separate entropy coder.", + "reference_ids": [ + "M66" + ] + }, + { + "family": "LZFSE", + "display_name": "LZFSE", + "description": "LZFSE parses the input into Lempel-Ziv literals and matches, then entropy-codes the match and literal streams with Finite State Entropy tables. The decoder reconstructs data by decoding those streams and applying the recorded match copies.", + "reference_ids": [ + "M39" + ] + }, + { + "family": "LZG", + "display_name": "LZG", + "description": "libLZG uses LZ77 string matching and reserves marker bytes for copy commands. Repeated strings become marker, offset, and length forms, while other bytes are emitted as literals with marker escaping when required.", + "reference_ids": [ + "M67" + ] + }, + { + "family": "LZHAM", + "display_name": "LZHAM", + "description": "LZHAM uses a large sliding dictionary and LZ parsing to represent repeated strings as length/distance matches. Quasi-adaptive Huffman models encode literals, match classes, lengths, and distances in the bitstream.", + "reference_ids": [ + "M68" + ] + }, + { + "family": "LZJB", + "display_name": "LZJB", + "description": "LZJB hashes three-byte prefixes into a 1024-entry match table. A one-byte copy map distinguishes each group of eight literals or matches, and each match uses two bytes to store a 10-bit offset and a 6-bit length code.", + "reference_ids": [ + "M69" + ] + }, + { + "family": "LZMAT", + "display_name": "LZMAT", + "description": "LZMAT uses a hash-indexed dictionary to locate earlier byte sequences and emits either literals or distance/length copies. Its tag and copy fields are packed at nibble granularity, with variable-width forms for longer lengths and distances.", + "reference_ids": [ + "M35" + ] + }, + { + "family": "LZO1", + "display_name": "LZO1", + "description": "The LZO1 variants use LZ77-style dictionary matching and encode the parse as byte-aligned literal runs and distance/length match tokens. They omit a separate entropy-coding pass; the variants mainly differ in match finding and token details.", + "reference_ids": [ + "M36" + ] + }, + { + "family": "LZO1X", + "display_name": "LZO1X", + "description": "LZO1X uses the LZO byte-oriented LZ77 format, interleaving literal runs with distance/length copy commands. Its presets change compressor search effort and parsing while retaining the LZO1X decoder representation.", + "reference_ids": [ + "M36" + ], + "notes": "This Space family is a measured variant of PPT method LZO1 and reuses M36." + }, + { + "family": "LZO2A", + "display_name": "LZO2A", + "description": "LZO2A is an LZO-family LZ77 design that replaces repeated byte sequences with compact match tokens and writes unmatched bytes as literal runs. Its token layout is distinct from the LZO1 variants and does not rely on a separate entropy coder.", + "reference_ids": [ + "M36" + ] + }, + { + "family": "LZRW", + "display_name": "LZRW", + "description": "LZRW uses a hash table to find recent LZ77 matches and chooses between literal items and fixed-format copy items. Control words mark which following items are literals and which carry a match offset and length.", + "reference_ids": [ + "M37" + ] + }, + { + "family": "LZSSE", + "display_name": "LZSSE", + "description": "LZSSE packs literal-run and match-length decisions into four-bit control values and stores match offsets beside them; offsets and literals are XOR-coded against recent state. The LZSSE2, LZSSE4, and LZSSE8 formats use different control thresholds and parsing strategies while arranging decode work for SIMD execution.", + "reference_ids": [ + "M38" + ] + }, + { + "family": "LZVN", + "display_name": "LZVN", + "description": "LZVN is a compact Lempel-Ziv format that represents literal runs and distance/length matches with variable-size opcodes. The decoder maintains recent match state and applies copy commands directly to the output buffer.", + "reference_ids": [ + "M39" + ] + }, + { + "family": "Libdeflate", + "display_name": "Libdeflate", + "description": "libdeflate implements DEFLATE: LZ77 match finding converts repeated strings into length/distance pairs, and canonical Huffman codes encode those pairs together with literals. The same compressed payload can be emitted raw or inside zlib and gzip wrappers.", + "reference_ids": [ + "M62" + ] + }, + { + "family": "Lizard", + "display_name": "Lizard", + "description": "Lizard is derived from LZ4 and parses input into literals and LZ-style match commands using either fastLZ4 or the LIZv1 format. Higher method families add Huffman coding to the literal stream, so the measured range includes both token-only and entropy-coded modes.", + "reference_ids": [ + "M63" + ] + }, + { + "family": "Lzlib", + "display_name": "Lzlib", + "description": "Lzlib writes lzip members containing a simplified LZMA stream. A sliding dictionary produces literals, new matches, and repeated-distance matches; context-dependent probability models and a range encoder code those decisions, followed by CRC and size fields for the member.", + "reference_ids": [ + "M70" + ] + }, + { + "family": "PFPC", + "display_name": "PFPC", + "description": "pFPC partitions floating-point data for parallel processing and predicts bit patterns with FCM and differential FCM tables. It XORs each prediction with the actual value and stores the residual using a compact leading-zero-byte representation.", + "reference_ids": [ + "M21" + ] + }, + { + "family": "PPMD8", + "display_name": "PPMD8", + "description": "PPMd8 predicts each symbol from variable-order contexts, escapes to shorter contexts when needed, and sends the modeled probabilities through a range coder. Its memory setting controls how much context state and history the model can retain.", + "reference_ids": [ + "M71" + ] + }, + { + "family": "Pithy", + "display_name": "Pithy", + "description": "Pithy hashes recent byte sequences to find LZ-style repetitions, then represents the stream as literal runs and compact offset-length match tokens. Its search effort controls how many candidates are considered.", + "reference_ids": [ + "M40" + ] + }, + { + "family": "Pongo", + "display_name": "Pongo", + "description": "Pongo applies shortest-decimal-aware floating-point recoding, then XORs adjacent representations and encodes the significant region and zero-boundary metadata. The reconstruction metadata carried by the project path preserves the original represented values.", + "reference_ids": [ + "M02" + ] + }, + { + "family": "QuickLZ", + "display_name": "QuickLZ", + "description": "QuickLZ uses hash tables to find recent byte matches and emits literals or compact offset-length commands. Its levels vary the number of stored candidates and the match search performed before choosing a token.", + "reference_ids": [ + "M72" + ] + }, + { + "family": "REGER", + "display_name": "REGER", + "description": "REGER reorders timestamp-value pairs within a block to strengthen local regression, predicts the reordered sequence, and packs the resulting residuals with frame-of-reference and segmented bit widths. Model and order information support reconstruction of the original sequence.", + "reference_ids": [ + "M06" + ] + }, + { + "family": "RLBE", + "display_name": "RLBE", + "description": "Run-Length and Bit-Level Encoding combines compact bit fields with run coding for repeated patterns in a numeric stream. The measured project row follows the smart-meter encoding reference and retains the metadata needed to reconstruct those fields and runs.", + "reference_ids": [ + "M11" + ] + }, + { + "family": "RLE", + "display_name": "RLE", + "description": "Run-length encoding replaces consecutive equal values with a value and repeat count. The measured TsFile-style path combines repeated runs with bit-packed groups for values that do not form long runs.", + "reference_ids": [ + "M10" + ] + }, + { + "family": "SLZ", + "display_name": "SLZ", + "description": "SLZ is a low-state DEFLATE encoder that finds LZ77 matches and writes fixed-Huffman blocks. This aggregate family covers the same core payload under raw DEFLATE, gzip, and zlib framing.", + "reference_ids": [ + "M73" + ] + }, + { + "family": "SNAPPY", + "display_name": "Snappy", + "description": "Snappy uses a hash-based LZ77 match finder and emits literal runs or compact offset-length copy commands without a separate entropy coder. Its framed format divides the stream into chunks and adds checksums and chunk metadata.", + "reference_ids": [ + "M47" + ] + }, + { + "family": "SPDP", + "display_name": "SPDP", + "description": "SPDP first forms lag-2 modular differences on floating-point words, transposes and differences their byte planes, and then replaces repeated history-conditioned byte sequences with compact repeat counts. These reversible stages target regularity in both numeric words and their byte layout.", + "reference_ids": [ + "M22" + ] + }, + { + "family": "SPRINTZ", + "display_name": "Sprintz", + "description": "Sprintz predicts numeric samples, maps signed residuals to small unsigned integers, and bit-packs small groups at widths selected from their residuals. Its design also compresses runs of zero-residual groups to exploit predictable stretches.", + "reference_ids": [ + "M12" + ] + }, + { + "family": "Shrinker", + "display_name": "Shrinker", + "description": "Shrinker is a compact LZ-family codec that replaces repeated byte strings with short match commands and leaves unmatched data as literals. The benchmark measures the codec's native token stream as exposed by the archived implementation.", + "reference_ids": [ + "M41" + ] + }, + { + "family": "Simple8b", + "display_name": "Simple8b", + "description": "Simple8b packs multiple nonnegative integers into one 64-bit word, reserving a selector field to choose the count and bit width of the values. Small integers fit more densely, and special selector modes compact long sequences of small repeated values.", + "reference_ids": [ + "M09" + ] + }, + { + "family": "Slz_deflate", + "display_name": "SLZ raw DEFLATE", + "description": "This SLZ variant writes the library's LZ77 matches and literals as fixed-Huffman DEFLATE blocks without an outer gzip or zlib wrapper.", + "reference_ids": [ + "M73" + ], + "notes": "This Space family splits the raw-DEFLATE wrapper from PPT method SLZ." + }, + { + "family": "Slz_gzip", + "display_name": "SLZ gzip", + "description": "This SLZ variant wraps its fixed-Huffman DEFLATE payload in a gzip member with the gzip header, CRC-32, and original-size trailer.", + "reference_ids": [ + "M73", + "M27" + ], + "notes": "This Space family splits the gzip wrapper from PPT method SLZ; M27 documents the wrapper format." + }, + { + "family": "Slz_zlib", + "display_name": "SLZ zlib", + "description": "This SLZ variant wraps its fixed-Huffman DEFLATE payload in a zlib stream with the zlib header and Adler-32 integrity value.", + "reference_ids": [ + "M73", + "M75" + ], + "notes": "This Space family splits the zlib wrapper from PPT method SLZ; M75 documents the zlib implementation family." + }, + { + "family": "Stream VByte", + "display_name": "Stream VByte", + "description": "Stream VByte encodes small integers in one to four data bytes and keeps two-bit length controls in a separate control stream, enabling SIMD decoding. The measured path first takes deltas so smooth integer columns produce smaller unsigned values.", + "reference_ids": [ + "M07" + ] + }, + { + "family": "Sub-column", + "display_name": "Sub-column", + "description": "This project kernel scales floating-point inputs when required, partitions integers into subcolumns, and selects bit-packed, run-length, or dictionary bodies for each block. Its block metadata identifies the partitioning and coding choices for reconstruction.", + "reference_ids": [ + "M09", + "M10", + "M13" + ], + "notes": "This Space-only project composition uses component ideas documented by M09, M10, and M13; none of those references specifies the complete implementation." + }, + { + "family": "TAMP", + "display_name": "TAMP", + "description": "TAMP is a small-memory, DEFLATE-inspired LZ codec that searches a configurable plaintext window and emits literal or match tokens in a compact framed stream. The window setting changes the available match history and token cost.", + "reference_ids": [ + "M79" + ] + }, + { + "family": "TS_2DIFF", + "display_name": "TS_2DIFF", + "description": "The measured TsFile TS_2DIFF kernel stores first differences in blocks, subtracts the minimum difference in each block, and bit-packs the nonnegative offsets. It retains the first value and block metadata; floating-point inputs use the configured decimal scaling before integer encoding.", + "reference_ids": [ + "M04" + ] + }, + { + "family": "Tornado", + "display_name": "Tornado", + "description": "Tornado combines LZ77 match finding with greedy, lazy, or optimal parsing and encodes the selected literals and matches with a byte, bit, Huffman, or arithmetic back end. The measured presets select different search structures, window sizes, parsers, and coders.", + "reference_ids": [ + "M74" + ] + }, + { + "family": "UCL NRV", + "display_name": "UCL NRV", + "description": "UCL NRV2D and NRV2E find repeated byte strings and replace them with LZ-style distance-length references. Compact bit-coded control, offset, and length fields describe the matches while unmatched bytes remain literals.", + "reference_ids": [ + "M42" + ] + }, + { + "family": "UCL NRV2b", + "display_name": "UCL NRV2B", + "description": "UCL NRV2B is a distinct NRV token format that combines LZ-style distance-length matches with bit-coded match fields and literal bytes. Its levels change compressor search effort while using the same NRV2B decoder.", + "reference_ids": [ + "M42" + ], + "notes": "This Space family is a measured variant of PPT method NRV and reuses M42." + }, + { + "family": "WFLZ", + "display_name": "WFLZ", + "description": "wfLZ finds repeated byte sequences in a bounded work-memory dictionary and writes literals and offset-length matches in a compact LZ stream. Its chunked form can split input into independently decodable blocks.", + "reference_ids": [ + "M43" + ] + }, + { + "family": "XPACK", + "display_name": "XPACK", + "description": "XPACK parses a byte stream into literals and LZ-style matches, selecting among candidates before writing codec-specific match tokens. The benchmark uses the experimental reference implementation cited in the PPT notes.", + "reference_ids": [ + "M44" + ] + }, + { + "family": "XZ", + "display_name": "XZ", + "description": "XZ uses LZMA2 dictionary matching with probability-modeled literal, length, and distance symbols encoded by a range coder. The XZ container adds stream framing, checks, and independently controlled LZMA2 chunks.", + "reference_ids": [ + "M31" + ] + }, + { + "family": "YALZ77", + "display_name": "YALZ77", + "description": "YALZ77 is a compact LZ77 implementation that searches a sliding history for repeated strings and emits streamable literal and offset-length records. Its search setting trades additional match exploration for a potentially smaller token stream.", + "reference_ids": [ + "M45" + ] + }, + { + "family": "Yappy", + "display_name": "Yappy", + "description": "Yappy hashes four-byte prefixes into a bounded recent-history table, searches a level-dependent number of candidates, and emits one-byte literal-run markers or two-byte match commands. Match lengths and offsets are decoded through fixed lookup tables.", + "reference_ids": [ + "M46" + ] + }, + { + "family": "ZSTD", + "display_name": "Zstandard", + "description": "Zstandard parses data into literals and LZ77 sequences with repeat-offset support. It Huffman-codes literal bytes, FSE-codes match-related symbol streams, and packages the result in independently described frame blocks.", + "reference_ids": [ + "M29" + ] + }, + { + "family": "ZXC", + "display_name": "ZXC", + "description": "ZXC performs block-level LZ77 parsing, represents literals and matches with compact integer/token layouts, and can Huffman-code selected sections. Its implementation selects scalar or vectorized paths without changing the lossless format semantics.", + "reference_ids": [ + "M78" + ] + }, + { + "family": "Zlib", + "display_name": "Zlib", + "description": "Zlib implements DEFLATE by replacing repeated strings with LZ77 length-distance pairs and coding literals, lengths, and distances with fixed or dynamic Huffman codes. A zlib wrapper supplies stream metadata and an Adler-32 check.", + "reference_ids": [ + "M75" + ] + }, + { + "family": "Zlib-ng", + "display_name": "Zlib-ng", + "description": "Zlib-ng produces zlib/DEFLATE-compatible streams using optimized match finding, hashing, Huffman construction, and architecture-specific routines. Its compression mechanism remains LZ77 followed by fixed or dynamic Huffman coding.", + "reference_ids": [ + "M76" + ] + }, + { + "family": "Zling", + "display_name": "Zling", + "description": "libzling processes data in blocks with a reduced-offset LZ (ROLZ) match transform, then Huffman-codes literals and match-related symbols. Block boundaries bound the state used by the match and entropy stages.", + "reference_ids": [ + "M77" + ] + } + ], + "operators": [ + { + "id": "eraser", + "name": "eraser", + "group": "Bit processing", + "description": "Preprocesses floating-point bit patterns by clearing selected mantissa suffix bits and encoding the information needed to reconstruct them. Whether a concrete pipeline is lossless depends on its erasure rule and stored metadata.", + "reference_ids": [ + "O01" + ] + }, + { + "id": "scaling", + "name": "scaling", + "group": "Numeric representation", + "description": "Maps decimal-valued floating-point data to integers by multiplying by a power of ten and applying a rounding rule. Exact restoration requires the scale and a conversion rule that preserves every source value used by the pipeline.", + "reference_ids": [ + "O02" + ] + }, + { + "id": "frame_of_reference", + "name": "for", + "group": "Numeric representation", + "description": "Stores a block reference value, commonly the minimum or another base, and represents each value as a smaller offset from that reference.", + "reference_ids": [ + "O03" + ] + }, + { + "id": "value_reorder", + "name": "value reorder", + "group": "Reordering and symbol recoding", + "description": "Reorders values, or timestamp-value pairs, within a block to expose stronger local correlation and reduce later residual widths. A reversible pipeline must preserve enough ordering information to restore the original sequence.", + "reference_ids": [ + "O04" + ] + }, + { + "id": "regression_predictor", + "name": "regression", + "group": "Residual formation", + "description": "Predicts values or timestamp-value pairs from a fitted regression relation, then passes prediction residuals to later integer or bit-level coding stages.", + "reference_ids": [ + "O04" + ] + }, + { + "id": "outlier_separation", + "name": "outlier separation", + "group": "Numeric representation", + "description": "Splits exceptional values from a regular block so the common values can use a narrow bit width, while positions and payloads for outliers are encoded separately.", + "reference_ids": [ + "O05" + ] + }, + { + "id": "bitpack_int", + "name": "bit-packing", + "group": "Bit processing", + "description": "Packs unsigned integers into fixed-width fields chosen for a block, avoiding the unused high bits of a machine-word representation.", + "reference_ids": [ + "O06" + ] + }, + { + "id": "delta", + "name": "delta", + "group": "Residual formation", + "description": "Stores the first value or another anchor and replaces later values with differences from their predecessors, making smooth sequences easier to encode compactly.", + "reference_ids": [ + "O07" + ] + }, + { + "id": "xor", + "name": "xor", + "group": "Numeric representation", + "description": "XORs adjacent fixed-width values or floating-point bit patterns so shared bits become zeros and only changing bit regions need further coding.", + "reference_ids": [ + "O08" + ] + }, + { + "id": "trailing_zero_pack", + "name": "trailing-zero packing", + "group": "Bit processing", + "description": "Represents an XOR result using its significant bits plus leading/trailing-zero metadata, allowing zero suffixes and other unchanged regions to be omitted from the payload.", + "reference_ids": [ + "O09" + ] + }, + { + "id": "dictionary", + "name": "dictionary", + "group": "Match and repetition", + "description": "Builds a set of distinct values or symbols and replaces repeated occurrences with compact dictionary identifiers; the dictionary is retained for decoding.", + "reference_ids": [ + "O10" + ] + }, + { + "id": "zigzag", + "name": "zigzag", + "group": "Numeric representation", + "description": "Maps signed integers to unsigned integers by interleaving nonnegative and negative values, keeping small magnitudes small before varint or bit-packed coding.", + "reference_ids": [ + "O11" + ] + }, + { + "id": "block_transform", + "name": "block transform", + "group": "Reordering and symbol recoding", + "description": "Applies a reversible block permutation such as the Burrows-Wheeler transform to group similar symbol contexts before recoding and entropy coding.", + "reference_ids": [ + "O12" + ] + }, + { + "id": "symbol_recode", + "name": "symbol recoding", + "group": "Reordering and symbol recoding", + "description": "Re-expresses symbols after a transform, for example as move-to-front ranks, so recent or repeated symbols become small values and longer runs.", + "reference_ids": [ + "O13" + ] + }, + { + "id": "run_length", + "name": "run length", + "group": "Match and repetition", + "description": "Replaces consecutive equal values or symbols with a value-and-count representation, reducing long runs while adding overhead to rapidly changing data.", + "reference_ids": [ + "O14" + ] + }, + { + "id": "lz_match", + "name": "lz matching", + "group": "Match and repetition", + "description": "Searches previously decoded data for repeated byte strings and emits distance-length copy commands in place of duplicate literals, following the LZ77 family model.", + "reference_ids": [ + "O15" + ] + }, + { + "id": "match_parse_policy", + "name": "match policy", + "group": "LZ decisions and format", + "description": "Chooses among candidate matches and literals using policies such as greedy, lazy, optimal, or repeat-offset parsing, trading search cost against encoded size.", + "reference_ids": [ + "O16" + ] + }, + { + "id": "match_window_model", + "name": "window model", + "group": "LZ decisions and format", + "description": "Defines how far back matches may refer and how candidates are indexed, bounded, or reset; larger windows can capture distant repetition at additional memory and search cost.", + "reference_ids": [ + "O15" + ] + }, + { + "id": "match_token_format", + "name": "match tokens", + "group": "LZ decisions and format", + "description": "Serializes literal lengths, literal bytes, match offsets, and match lengths into codec-specific commands, such as the nibble-split token and extensions used by an LZ4 block.", + "reference_ids": [ + "O17" + ] + }, + { + "id": "integer_code", + "name": "integer coding", + "group": "Bit processing", + "description": "Uses variable-length or byte-oriented codes for nonnegative integers such as residuals, lengths, offsets, and metadata, giving small integers shorter representations.", + "reference_ids": [ + "O18" + ] + }, + { + "id": "bitstream_pack", + "name": "bitstream packing", + "group": "Bit processing", + "description": "Writes flags, codewords, and variable-width fields into a contiguous bitstream so sub-byte fields do not consume whole bytes; DEFLATE is a canonical bit-packed format.", + "reference_ids": [ + "O19" + ] + }, + { + "id": "entropy_huffman", + "name": "huffman coding", + "group": "Probability coding", + "description": "Builds a prefix code in which more frequent symbols receive shorter integral-bit codewords and every symbol remains independently decodable from the bitstream.", + "reference_ids": [ + "O20" + ] + }, + { + "id": "entropy_range", + "name": "range coding", + "group": "Probability coding", + "description": "Encodes a symbol sequence by successively narrowing a numeric interval according to model probabilities, approaching fractional-bit entropy costs through arithmetic state updates.", + "reference_ids": [ + "O21" + ] + }, + { + "id": "entropy_fse", + "name": "fse/ans coding", + "group": "Probability coding", + "description": "Uses an Asymmetric Numeral Systems state, often table-normalized as tANS/FSE, to combine near-arithmetic-coding compression with table-driven encode/decode transitions.", + "reference_ids": [ + "O22" + ] + }, + { + "id": "entropy_special", + "name": "special coding", + "group": "Probability coding", + "description": "Represents codec-specific entropy or statistical back ends that do not fit the shared Huffman, range, or FSE/ANS categories; behavior is defined by the selected method.", + "reference_ids": [ + "O23" + ] + }, + { + "id": "literal_entropy", + "name": "literal coding", + "group": "LZ decisions and format", + "description": "Codes literal bytes through a separate probability model or codebook while match lengths, offsets, and other sequence symbols use their own representation.", + "reference_ids": [ + "O24" + ] + }, + { + "id": "block_state_control", + "name": "block/state", + "group": "Layout and state", + "description": "Controls block boundaries, state reuse or reset, streaming flushes, and per-block mode choices that determine which history and models remain available to later data.", + "reference_ids": [ + "O25" + ] + }, + { + "id": "container_frame", + "name": "container framing", + "group": "Layout and state", + "description": "Wraps a compressed payload with format identifiers, lengths, checksums, member boundaries, or other metadata needed to transport, validate, and decode the stream.", + "reference_ids": [ + "O26" + ] + } + ], + "references": [ + { + "id": "M01", + "citation": "Panagiotis Liakos, Katia Papakonstantinopoulou, Yannis Kotidis. “Chimp.” Proceedings of the VLDB Endowment, 2022.", + "url": "https://doi.org/10.14778/3551793.3551852", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M02", + "citation": "Yufeng Liu, Yao Shen, Fenghua Zhang, Feiteng Huang. “Pongo: Efficient Lossless Floating Point Compression.” Cloud Computing and Data Science, 2025.", + "url": "https://doi.org/10.37256/ccds.6220257102", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M03", + "citation": "Tuomas Pelkonen, Scott Franklin, Justin Teller, Paul Cavallaro, Qi Huang, Justin Meza, Kaushik Veeraraghavan. “Gorilla.” Proceedings of the VLDB Endowment, 2015.", + "url": "https://doi.org/10.14778/2824032.2824078", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M04", + "citation": "Apache Software Foundation. “Apache TsFile Encoding (TS_2DIFF).” Official documentation or source repository, n.d.", + "url": "https://tsfile.apache.org/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M05", + "citation": "Jinzhao Xiao, Zihan Guo, Shaoxu Song. “BOS: Bit-Packing with Outlier Separation.” 2025 IEEE 41st International Conference on Data Engineering (ICDE), 2025.", + "url": "https://doi.org/10.1109/ICDE65448.2025.00107", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M06", + "citation": "Jinzhao Xiao, Wendi He, Shaoxu Song, Xiangdong Huang, Chen Wang, Jianmin Wang. “REGER: Reordering Time Series Data for Regression Encoding.” 2024 IEEE 40th International Conference on Data Engineering (ICDE), 2024.", + "url": "https://doi.org/10.1109/ICDE60146.2024.00100", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M07", + "citation": "Daniel Lemire, Nathan Kurz, Christoph Rupp. “Stream VByte : Faster byte-oriented integer compression.” Information Processing Letters, 2018.", + "url": "https://doi.org/10.1016/j.ipl.2017.09.011", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M08", + "citation": "Daniel Lemire, Leonid Boytsov, Nathan Kurz. “SIMD compression and the intersection of sorted integers.” Software: Practice and Experience, 2015.", + "url": "https://doi.org/10.1002/spe.2326", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M09", + "citation": "lemire project contributors. “FastPFor/Simple8b reference implementation.” Official documentation or source repository, n.d.", + "url": "https://github.com/lemire/FastPFor", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M10", + "citation": "Apache Software Foundation. “Run Length Encoding / Bit-Packing Hybrid.” Official documentation or source repository, n.d.", + "url": "https://parquet.apache.org/docs/file-format/data-pages/encodings/#run-length-encoding-bit-packing-hybrid-rle-3", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M11", + "citation": "Julien Spiegel, Patrice Wira, Gilles Hermann. “A Comparative Experimental Study of Lossless Compression Algorithms for Enhancing Energy Efficiency in Smart Meters.” 2018 IEEE 16th International Conference on Industrial Informatics (INDIN), 2018.", + "url": "https://doi.org/10.1109/INDIN.2018.8471921", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M12", + "citation": "Davis Blalock, Samuel Madden, John Guttag. “Sprintz.” Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2018.", + "url": "https://doi.org/10.1145/3264903", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M13", + "citation": "Daniel Abadi, Samuel Madden, Miguel Ferreira. “Integrating compression and execution in column-oriented database systems.” Proceedings of the 2006 ACM SIGMOD international conference on Management of data, 2006.", + "url": "https://doi.org/10.1145/1142473.1142548", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M14", + "citation": "Apache Software Foundation. “Apache Parquet Encodings: DELTA_BINARY_PACKED.” Official documentation or source repository, n.d.", + "url": "https://parquet.apache.org/docs/file-format/data-pages/encodings/#delta-encoding-delta_binary_packed-5", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M15", + "citation": "Azim Afroozeh, Leonardo X. Kuffo, Peter Boncz. “ALP: Adaptive Lossless floating-Point Compression.” Proceedings of the ACM on Management of Data, 2023.", + "url": "https://doi.org/10.1145/3626717", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M16", + "citation": "Yihao Liu, Xinyu Zeng, Huanchen Zhang. “LeCo: Lightweight Compression via Learning Serial Correlations.” Proceedings of the ACM on Management of Data, 2024.", + "url": "https://doi.org/10.1145/3639320", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M17", + "citation": "Yuanyuan Yao, Lu Chen, Ziquan Fang, Yunjun Gao, Christian S. Jensen, Tianyi Li. “Camel: Efficient Compression of Floating-Point Time Series.” Proceedings of the ACM on Management of Data, 2024.", + "url": "https://doi.org/10.1145/3698802", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M18", + "citation": "Ruiyuan Li, Zheng Li, Yi Wu, Chao Chen, Yu Zheng. “Elf: Erasing-Based Lossless Floating-Point Compression.” Proceedings of the VLDB Endowment, 2023.", + "url": "https://doi.org/10.14778/3587136.3587149", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M19", + "citation": "Ruiyuan Li et al. “Erasing-based Lossless Compression Method for Streaming Floating-Point Time Series.” arXiv:2306.16053, 2023.", + "url": "https://doi.org/10.48550/arXiv.2306.16053", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M20", + "citation": "Martin Burtscher, Paruj Ratanaworabhan. “High Throughput Compression of Double-Precision Floating-Point Data.” 2007 Data Compression Conference (DCC'07), 2007.", + "url": "https://doi.org/10.1109/DCC.2007.44", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M21", + "citation": "Martin Burtscher, Paruj Ratanaworabhan. “pFPC: A Parallel Compressor for Floating-Point Data.” 2009 Data Compression Conference, 2009.", + "url": "https://doi.org/10.1109/DCC.2009.43", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M22", + "citation": "Steven Claggett, Sahar Azimi, Martin Burtscher. “SPDP: An Automatically Synthesized Lossless Compression Algorithm for Floating-Point Data.” 2018 Data Compression Conference, 2018.", + "url": "https://doi.org/10.1109/DCC.2018.00042", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M23", + "citation": "Abdelouahab Khelifati, Mourad Khayati, Philippe Cudre-Mauroux. “CORAD: Correlation-Aware Compression of Massive Time Series using Sparse Dictionary Coding.” 2019 IEEE International Conference on Big Data (Big Data), 2019.", + "url": "https://doi.org/10.1109/BigData47090.2019.9005580", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M24", + "citation": "Chunwei Liu, Hao Jiang, John Paparrizos, Aaron J. Elmore. “Decomposed bounded floats for fast compression and queries.” Proceedings of the VLDB Endowment, 2021.", + "url": "https://doi.org/10.14778/3476249.3476305", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M25", + "citation": "Peter Lindstrom, Martin Isenburg. “Fast and Efficient Compression of Floating-Point Data.” IEEE Transactions on Visualization and Computer Graphics, 2006.", + "url": "https://doi.org/10.1109/TVCG.2006.143", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M26", + "citation": "Noushin Azami, Alex Fallin, Martin Burtscher. “Efficient Lossless Compression of Scientific Floating-Point Data on CPUs and GPUs.” Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1, 2025.", + "url": "https://doi.org/10.1145/3669940.3707280", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M27", + "citation": "P. Deutsch. “GZIP file format specification version 4.3.” RFC Editor, 1996.", + "url": "https://doi.org/10.17487/RFC1952", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M28", + "citation": "J. Alakuijala, Z. Szabadka. “Brotli Compressed Data Format.” RFC Editor, 2016.", + "url": "https://doi.org/10.17487/RFC7932", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M29", + "citation": "Y. Collet. “Zstandard Compression and the 'application/zstd' Media Type.” RFC Editor, 2021.", + "url": "https://doi.org/10.17487/RFC8878", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M30", + "citation": "lz4 project contributors. “LZ4 Frame Format Specification.” Official documentation or source repository, n.d.", + "url": "https://github.com/lz4/lz4/", + "kind": "standard_or_specification", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M31", + "citation": "The Tukaani Project. “XZ File Format Specification.” Official documentation or source repository, n.d.", + "url": "https://tukaani.org/xz/format.html", + "kind": "standard_or_specification", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M32", + "citation": "g1mv project contributors. “Density compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/g1mv/density", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M33", + "citation": "google project contributors. “Gipfeli compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/google/gipfeli", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M34", + "citation": "Kennon Conrad. “GLZA Compression Toolset.” Official source distribution mirror, 2016.", + "url": "https://github.com/jrmuizel/GLZA", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M35", + "citation": "MATCODE Software. “LZMAT: Open-source Extremely Fast Data Compression Library, Version 1.0.” Official project documentation (archived), 2008.", + "url": "https://web.archive.org/web/20160306180328/http://www.matcode.com/lzmat.htm", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M36", + "citation": "oberhumer.com. “LZO real-time compression library.” Official documentation or source repository, n.d.", + "url": "http://www.oberhumer.com/opensource/lzo/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M37", + "citation": "Ross N. Williams. “An Extremely Fast Ziv-Lempel Data Compression Algorithm.” Proceedings of the Data Compression Conference, 1991.", + "url": "https://doi.org/10.1109/DCC.1991.213344", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M38", + "citation": "conorstokes.github.io. “An LZ Codec Designed for SSE Decompression.” Official documentation or source repository, n.d.", + "url": "http://conorstokes.github.io/compression/2016/02/15/an-LZ-codec-designed-for-SSE-decompression", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M39", + "citation": "lzfse project contributors. “LZFSE and LZVN reference implementation.” Official documentation or source repository, n.d.", + "url": "https://github.com/lzfse/lzfse", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M40", + "citation": "johnezang project contributors. “Pithy compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/johnezang/pithy", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M41", + "citation": "Compression.ru archive. “SHRINKER compressor description.” Official documentation or source repository, n.d.", + "url": "https://compression.ru/arctest/self/shrinker.htm", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M42", + "citation": "oberhumer.com. “UCL data compression library.” Official documentation or source repository, n.d.", + "url": "http://www.oberhumer.com/opensource/ucl/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M43", + "citation": "code.google.com. “WFLZ compression library.” Official documentation or source repository, n.d.", + "url": "https://code.google.com/p/wflz/", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M44", + "citation": "ebiggers project contributors. “XPACK experimental compression format.” Official documentation or source repository, n.d.", + "url": "https://github.com/ebiggers/xpack", + "kind": "standard_or_specification", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M45", + "citation": "Ivan Tkatchev. “yalz77: Yet Another LZ77.” Official source repository, 2015.", + "url": "https://github.com/ivan-tkatchev/yalz77", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M46", + "citation": "web.archive.org. “Yappy compression algorithm.” Official documentation or source repository, n.d.", + "url": "https://web.archive.org/web/20110617184153/blog.gamedeff.com/?p=371", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M47", + "citation": "google project contributors. “Snappy compression format.” Official documentation or source repository, n.d.", + "url": "https://github.com/google/snappy", + "kind": "standard_or_specification", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M48", + "citation": "Jarek Duda. “Asymmetric Numeral Systems.” arXiv:0902.0271, 2009.", + "url": "https://arxiv.org/abs/0902.0271", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M49", + "citation": "Cyan4973 project contributors. “FiniteStateEntropy.” Official documentation or source repository, n.d.", + "url": "https://github.com/Cyan4973/FiniteStateEntropy", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M50", + "citation": "David Huffman. “A Method for the Construction of Minimum-Redundancy Codes.” Proceedings of the IRE, 1952.", + "url": "https://doi.org/10.1109/JRPROC.1952.273898", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "doi_resolved_to_primary_publisher_2026-10-08" + }, + { + "id": "M51", + "citation": "Ian H. Witten, Radford M. Neal, John G. Cleary. “Arithmetic coding for data compression.” Communications of the ACM, 1987.", + "url": "https://doi.org/10.1145/214762.214771", + "kind": "research_paper_or_standard", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M52", + "citation": "Blosc Development Team. “Blosc: A blocking, shuffling and compression filter.” Official documentation or source repository, n.d.", + "url": "https://www.blosc.org/pages/blosc-in-depth/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M53", + "citation": "jibsen project contributors. “BriefLZ fast compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/jibsen/brieflz", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M54", + "citation": "IlyaGrebnov project contributors. “libbsc: Block Sorting Compressor.” Official documentation or source repository, n.d.", + "url": "https://github.com/IlyaGrebnov/libbsc", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M55", + "citation": "sourceware.org. “bzip2 and libbzip2.” Official documentation or source repository, n.d.", + "url": "https://www.sourceware.org/bzip2/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M56", + "citation": "kspalaiologos project contributors. “bzip3: a better and stronger successor to bzip2.” Official documentation or source repository, n.d.", + "url": "https://github.com/kspalaiologos/bzip3", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M57", + "citation": "sourceforge.net. “CRUSH compression library.” Official documentation or source repository, n.d.", + "url": "https://sourceforge.net/projects/crush/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "publisher_blocked_403_not_a_dead_link" + }, + { + "id": "M58", + "citation": "fusiyuan2010 project contributors. “CSC lossless compression algorithm.” Official documentation or source repository, n.d.", + "url": "https://github.com/fusiyuan2010/CSC", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M59", + "citation": "ariya project contributors. “FastLZ compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/ariya/FastLZ", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M60", + "citation": "conor42 project contributors. “Fast LZMA2 compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/conor42/fast-lzma2", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M61", + "citation": "flanglet project contributors. “Kanzi: high-performance compression framework.” Official documentation or source repository, n.d.", + "url": "https://github.com/flanglet/kanzi-cpp", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M62", + "citation": "ebiggers project contributors. “libdeflate.” Official documentation or source repository, n.d.", + "url": "https://github.com/ebiggers/libdeflate", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M63", + "citation": "inikep project contributors. “Lizard (LZ5) fast compression.” Official documentation or source repository, n.d.", + "url": "https://github.com/inikep/lizard", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M64", + "citation": "lz4.org. “LZ4 fast compression mode.” Official documentation or source repository, n.d.", + "url": "https://lz4.org/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M65", + "citation": "avaneev project contributors. “LZAV fast LZ77 compressor.” Official documentation or source repository, n.d.", + "url": "https://github.com/avaneev/lzav", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M66", + "citation": "software.schmorp.de. “LibLZF very fast compression library.” Official documentation or source repository, n.d.", + "url": "http://software.schmorp.de/pkg/liblzf.html", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M67", + "citation": "mbitsnbites project contributors. “LibLZG lightweight compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/mbitsnbites/liblzg", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M68", + "citation": "richgel999 project contributors. “LZHAM compression codec.” Official documentation or source repository, n.d.", + "url": "https://github.com/richgel999/lzham_codec", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M69", + "citation": "openzfs project contributors. “OpenZFS LZJB reference source.” Official documentation or source repository, n.d.", + "url": "https://github.com/openzfs/zfs/blob/master/module/zfs/lzjb.c", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M70", + "citation": "nongnu.org. “Lzlib data compression library.” Official documentation or source repository, n.d.", + "url": "https://www.nongnu.org/lzip/lzlib.html", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M71", + "citation": "7-zip.org. “PPMd statistical compression (PPMD8).” Official documentation or source repository, n.d.", + "url": "https://www.7-zip.org/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M72", + "citation": "web.archive.org. “QuickLZ compression library.” Official documentation or source repository, n.d.", + "url": "https://web.archive.org/web/20160110073818/https://quicklz.com/", + "kind": "archived_project_page_or_source_mirror", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M73", + "citation": "libslz.org. “libslz fast gzip/deflate encoder.” Official documentation or source repository, n.d.", + "url": "http://www.libslz.org/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M74", + "citation": "nemequ project contributors. “Tornado compressor reference source.” Official documentation or source repository, n.d.", + "url": "https://github.com/nemequ/tornado", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M75", + "citation": "zlib.net. “zlib compression library.” Official documentation or source repository, n.d.", + "url": "https://zlib.net/", + "kind": "official_documentation_or_project_page", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M76", + "citation": "zlib-ng project contributors. “zlib-ng optimized zlib fork.” Official documentation or source repository, n.d.", + "url": "https://github.com/zlib-ng/zlib-ng", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "M77", + "citation": "richox project contributors. “libzling compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/richox/libzling", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M78", + "citation": "hellobertrand project contributors. “ZXC compression library.” Official documentation or source repository, n.d.", + "url": "https://github.com/hellobertrand/zxc", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "link_reachable_2026-10-08_content_from_ppt_notes" + }, + { + "id": "M79", + "citation": "BrianPugh project contributors. “TAMP tiny automatic meta-protocol compressor.” Official documentation or source repository, n.d.", + "url": "https://github.com/BrianPugh/tamp", + "kind": "official_source_repository", + "source_slide": 2, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "S01", + "citation": "Apache Software Foundation. “Apache Parquet Encodings: BYTE_STREAM_SPLIT.” Official documentation, n.d.", + "url": "https://parquet.apache.org/docs/file-format/data-pages/encodings/#byte-stream-split-byte_stream_split-9", + "kind": "official_documentation_or_project_page", + "source_slide": null, + "verification_status": "web_verified_primary_or_official_2026-10-08" + }, + { + "id": "O01", + "citation": "Ruiyuan Li, Zheng Li, Yi Wu, Chao Chen, Yu Zheng. “Elf: Erasing-Based Lossless Floating-Point Compression.” Proceedings of the VLDB Endowment, 2023.", + "url": "https://doi.org/10.14778/3587136.3587149", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O02", + "citation": "Azim Afroozeh, Leonardo X. Kuffo, Peter Boncz. “ALP: Adaptive Lossless floating-Point Compression.” Proceedings of the ACM on Management of Data, 2023.", + "url": "https://doi.org/10.1145/3626717", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O03", + "citation": "Yihao Liu, Xinyu Zeng, Huanchen Zhang. “LeCo: Lightweight Compression via Learning Serial Correlations.” Proceedings of the ACM on Management of Data, 2024.", + "url": "https://doi.org/10.1145/3639320", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O04", + "citation": "Jinzhao Xiao, Wendi He, Shaoxu Song, Xiangdong Huang, Chen Wang, Jianmin Wang. “REGER: Reordering Time Series Data for Regression Encoding.” 2024 IEEE 40th International Conference on Data Engineering (ICDE), 2024.", + "url": "https://doi.org/10.1109/ICDE60146.2024.00100", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O05", + "citation": "Jinzhao Xiao, Zihan Guo, Shaoxu Song. “BOS: Bit-Packing with Outlier Separation.” 2025 IEEE 41st International Conference on Data Engineering (ICDE), 2025.", + "url": "https://doi.org/10.1109/ICDE65448.2025.00107", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O06", + "citation": "Daniel Lemire, Leonid Boytsov, Nathan Kurz. “SIMD compression and the intersection of sorted integers.” Software: Practice and Experience, 2015.", + "url": "https://doi.org/10.1002/spe.2326", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O07", + "citation": "Apache Software Foundation. “Apache Parquet DELTA_BINARY_PACKED specification.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://parquet.apache.org/docs/file-format/data-pages/encodings/#delta-encoding-delta_binary_packed-5", + "kind": "official_documentation", + "source_slide": 3, + "verification_status": "ppt_note_official_source" + }, + { + "id": "O08", + "citation": "Tuomas Pelkonen, Scott Franklin, Justin Teller, Paul Cavallaro, Qi Huang, Justin Meza, Kaushik Veeraraghavan. “Gorilla.” Proceedings of the VLDB Endowment, 2015.", + "url": "https://doi.org/10.14778/2824032.2824078", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O09", + "citation": "Panagiotis Liakos, Katia Papakonstantinopoulou, Yannis Kotidis. “Chimp.” Proceedings of the VLDB Endowment, 2022.", + "url": "https://doi.org/10.14778/3551793.3551852", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O10", + "citation": "Daniel Abadi, Samuel Madden, Miguel Ferreira. “Integrating compression and execution in column-oriented database systems.” Proceedings of the 2006 ACM SIGMOD international conference on Management of data, 2006.", + "url": "https://doi.org/10.1145/1142473.1142548", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O11", + "citation": "Protocol Buffers project. “Protocol Buffers encoding: ZigZag.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://protobuf.dev/programming-guides/encoding/#signed-ints", + "kind": "official_documentation", + "source_slide": 3, + "verification_status": "verified_primary" + }, + { + "id": "O12", + "citation": "Michael Burrows, David J. Wheeler. “A Block-sorting Lossless Data Compression Algorithm.” Digital Systems Research Center Research Report 124, 1994.", + "url": "https://www.cl.cam.ac.uk/teaching/2526/Bioinfo/papers/burrows_wheeler.pdf", + "kind": "paper", + "source_slide": 3, + "verification_status": "verified_primary" + }, + { + "id": "O13", + "citation": "Jon Louis Bentley, Daniel D. Sleator, Robert E. Tarjan, Victor K. Wei. “A locally adaptive data compression scheme.” Communications of the ACM, 1986.", + "url": "https://doi.org/10.1145/5684.5688", + "kind": "paper", + "source_slide": 3, + "verification_status": "primary_url_preserved_resolver_unavailable" + }, + { + "id": "O14", + "citation": "Apache Software Foundation. “Run Length Encoding / Bit-Packing Hybrid.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://parquet.apache.org/docs/file-format/data-pages/encodings/#run-length-encoding-bit-packing-hybrid-rle-3", + "kind": "official_documentation", + "source_slide": 3, + "verification_status": "ppt_note_official_source" + }, + { + "id": "O15", + "citation": "J. Ziv, A. Lempel. “A universal algorithm for sequential data compression.” IEEE Transactions on Information Theory, 1977.", + "url": "https://doi.org/10.1109/TIT.1977.1055714", + "kind": "paper", + "source_slide": 3, + "verification_status": "primary_url_preserved_resolver_unavailable" + }, + { + "id": "O16", + "citation": "facebook project contributors. “Zstandard compression format and implementation documentation.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://github.com/facebook/zstd", + "kind": "official_documentation", + "source_slide": 3, + "verification_status": "ppt_note_official_source" + }, + { + "id": "O17", + "citation": "lz4 project contributors. “LZ4 Block Format Description.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://github.com/lz4/lz4/blob/dev/doc/lz4_Block_format.md", + "kind": "official_specification", + "source_slide": 3, + "verification_status": "verified_primary" + }, + { + "id": "O18", + "citation": "Daniel Lemire, Nathan Kurz, Christoph Rupp. “Stream VByte : Faster byte-oriented integer compression.” Information Processing Letters, 2018.", + "url": "https://doi.org/10.1016/j.ipl.2017.09.011", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O19", + "citation": "P. Deutsch. “DEFLATE Compressed Data Format Specification version 1.3.” RFC Editor, 1996.", + "url": "https://doi.org/10.17487/RFC1951", + "kind": "official_specification", + "source_slide": 3, + "verification_status": "primary_url_preserved_resolver_unavailable" + }, + { + "id": "O20", + "citation": "David Huffman. “A Method for the Construction of Minimum-Redundancy Codes.” Proceedings of the IRE, 1952.", + "url": "https://doi.org/10.1109/JRPROC.1952.273898", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O21", + "citation": "Ian H. Witten, Radford M. Neal, John G. Cleary. “Arithmetic coding for data compression.” Communications of the ACM, 1987.", + "url": "https://doi.org/10.1145/214762.214771", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O22", + "citation": "Jarek Duda. “Asymmetric Numeral Systems: Entropy Coding Combining Speed of Huffman Coding with Compression Rate of Arithmetic Coding.” arXiv:1311.2540, 2013.", + "url": "https://arxiv.org/abs/1311.2540", + "kind": "paper", + "source_slide": 3, + "verification_status": "verified_primary" + }, + { + "id": "O23", + "citation": "Steven Claggett, Sahar Azimi, Martin Burtscher. “SPDP: An Automatically Synthesized Lossless Compression Algorithm for Floating-Point Data.” 2018 Data Compression Conference, 2018.", + "url": "https://doi.org/10.1109/DCC.2018.00042", + "kind": "paper", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O24", + "citation": "Y. Collet. “Zstandard Compression and the 'application/zstd' Media Type.” RFC Editor, 2021.", + "url": "https://doi.org/10.17487/RFC8878", + "kind": "official_specification", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + }, + { + "id": "O25", + "citation": "Blosc Development Team. “Blosc in-depth: blocking, shuffling and compression.” Official documentation or source repository, n.d. (accessed 2026-09-11).", + "url": "https://www.blosc.org/pages/blosc-in-depth/", + "kind": "official_documentation", + "source_slide": 3, + "verification_status": "ppt_note_official_source" + }, + { + "id": "O26", + "citation": "P. Deutsch. “GZIP file format specification version 4.3.” RFC Editor, 1996.", + "url": "https://doi.org/10.17487/RFC1952", + "kind": "official_specification", + "source_slide": 3, + "verification_status": "ppt_note_primary_source" + } + ], + "source": { + "presentation": "编码压缩基准.pptx", + "presentation_sha256": "4a5bed20f2b9f7ba18bf18569ad50b445e3bc8bfe6fe3020c5f68df424e1888e", + "notes_slides": [ + 2, + 3 + ], + "ppt_method_aliases": [ + { + "index": 1, + "ppt_name": "Chimp", + "reference_ids": [ + "M01" + ], + "family": "CHIMP" + }, + { + "index": 2, + "ppt_name": "Chimp128", + "reference_ids": [ + "M01" + ], + "family": "Chimp128" + }, + { + "index": 3, + "ppt_name": "Pongo", + "reference_ids": [ + "M02" + ], + "family": "Pongo" + }, + { + "index": 4, + "ppt_name": "Gorilla", + "reference_ids": [ + "M03" + ], + "family": "GORILLA" + }, + { + "index": 5, + "ppt_name": "2DIFF", + "reference_ids": [ + "M04" + ], + "family": "TS_2DIFF" + }, + { + "index": 6, + "ppt_name": "BOS", + "reference_ids": [ + "M05" + ], + "family": "BOS" + }, + { + "index": 7, + "ppt_name": "REGER", + "reference_ids": [ + "M06" + ], + "family": "REGER" + }, + { + "index": 8, + "ppt_name": "SVB", + "reference_ids": [ + "M07" + ], + "family": "Stream VByte" + }, + { + "index": 9, + "ppt_name": "FastPFor", + "reference_ids": [ + "M08" + ], + "family": "FastPFor" + }, + { + "index": 10, + "ppt_name": "Simple8b", + "reference_ids": [ + "M09" + ], + "family": "Simple8b" + }, + { + "index": 11, + "ppt_name": "RLE", + "reference_ids": [ + "M10" + ], + "family": "RLE" + }, + { + "index": 12, + "ppt_name": "RLBE", + "reference_ids": [ + "M11" + ], + "family": "RLBE" + }, + { + "index": 13, + "ppt_name": "Sprintz", + "reference_ids": [ + "M12" + ], + "family": "SPRINTZ" + }, + { + "index": 14, + "ppt_name": "Dict.", + "reference_ids": [ + "M13" + ], + "family": "Dictionary" + }, + { + "index": 15, + "ppt_name": "DBP", + "reference_ids": [ + "M14" + ], + "family": "DBP" + }, + { + "index": 16, + "ppt_name": "ALP", + "reference_ids": [ + "M15" + ], + "family": "ALP" + }, + { + "index": 17, + "ppt_name": "LECO", + "reference_ids": [ + "M16" + ], + "family": "LECO" + }, + { + "index": 18, + "ppt_name": "Camel", + "reference_ids": [ + "M17" + ], + "family": "Camel" + }, + { + "index": 19, + "ppt_name": "Elf", + "reference_ids": [ + "M18" + ], + "family": "Elf" + }, + { + "index": 20, + "ppt_name": "Elf+", + "reference_ids": [ + "M19" + ], + "family": "Elf+" + }, + { + "index": 21, + "ppt_name": "FPC", + "reference_ids": [ + "M20" + ], + "family": "FPC" + }, + { + "index": 22, + "ppt_name": "PFPC", + "reference_ids": [ + "M21" + ], + "family": "PFPC" + }, + { + "index": 23, + "ppt_name": "SPDP", + "reference_ids": [ + "M22" + ], + "family": "SPDP" + }, + { + "index": 24, + "ppt_name": "CORAD", + "reference_ids": [ + "M23" + ], + "family": "CORAD" + }, + { + "index": 25, + "ppt_name": "BUFF", + "reference_ids": [ + "M24" + ], + "family": "BUFF" + }, + { + "index": 26, + "ppt_name": "FPZIP", + "reference_ids": [ + "M25" + ], + "family": "FPZIP" + }, + { + "index": 27, + "ppt_name": "FPCmp-R", + "reference_ids": [ + "M26" + ], + "family": "FPCompress DPratio" + }, + { + "index": 28, + "ppt_name": "FPCmp-S", + "reference_ids": [ + "M26" + ], + "family": "FPCompress DPspeed" + }, + { + "index": 29, + "ppt_name": "gzip", + "reference_ids": [ + "M27" + ], + "family": "GZIP" + }, + { + "index": 30, + "ppt_name": "Brotli", + "reference_ids": [ + "M28" + ], + "family": "Brotli" + }, + { + "index": 31, + "ppt_name": "Zstd", + "reference_ids": [ + "M29" + ], + "family": "ZSTD" + }, + { + "index": 32, + "ppt_name": "LZ4", + "reference_ids": [ + "M30" + ], + "family": "LZ4" + }, + { + "index": 33, + "ppt_name": "XZ", + "reference_ids": [ + "M31" + ], + "family": "XZ" + }, + { + "index": 34, + "ppt_name": "Density", + "reference_ids": [ + "M32" + ], + "family": "Density" + }, + { + "index": 35, + "ppt_name": "Gipfeli", + "reference_ids": [ + "M33" + ], + "family": "Gipfeli" + }, + { + "index": 36, + "ppt_name": "GLZA", + "reference_ids": [ + "M34" + ], + "family": "GLZA" + }, + { + "index": 37, + "ppt_name": "LZMAT", + "reference_ids": [ + "M35" + ], + "family": "LZMAT" + }, + { + "index": 38, + "ppt_name": "LZO1", + "reference_ids": [ + "M36" + ], + "family": "LZO1" + }, + { + "index": 39, + "ppt_name": "LZO2A", + "reference_ids": [ + "M36" + ], + "family": "LZO2A" + }, + { + "index": 40, + "ppt_name": "LZRW", + "reference_ids": [ + "M37" + ], + "family": "LZRW" + }, + { + "index": 41, + "ppt_name": "LZSSE", + "reference_ids": [ + "M38" + ], + "family": "LZSSE" + }, + { + "index": 42, + "ppt_name": "LZVN", + "reference_ids": [ + "M39" + ], + "family": "LZVN" + }, + { + "index": 43, + "ppt_name": "Pithy", + "reference_ids": [ + "M40" + ], + "family": "Pithy" + }, + { + "index": 44, + "ppt_name": "Shrinker", + "reference_ids": [ + "M41" + ], + "family": "Shrinker" + }, + { + "index": 45, + "ppt_name": "NRV", + "reference_ids": [ + "M42" + ], + "family": "UCL NRV" + }, + { + "index": 46, + "ppt_name": "WFLZ", + "reference_ids": [ + "M43" + ], + "family": "WFLZ" + }, + { + "index": 47, + "ppt_name": "XPACK", + "reference_ids": [ + "M44" + ], + "family": "XPACK" + }, + { + "index": 48, + "ppt_name": "YALZ77", + "reference_ids": [ + "M45" + ], + "family": "YALZ77" + }, + { + "index": 49, + "ppt_name": "Yappy", + "reference_ids": [ + "M46" + ], + "family": "Yappy" + }, + { + "index": 50, + "ppt_name": "Snappy", + "reference_ids": [ + "M47" + ], + "family": "SNAPPY" + }, + { + "index": 51, + "ppt_name": "ANS", + "reference_ids": [ + "M48" + ], + "family": "ANS" + }, + { + "index": 52, + "ppt_name": "FSE", + "reference_ids": [ + "M49" + ], + "family": "FSE" + }, + { + "index": 53, + "ppt_name": "Huffman", + "reference_ids": [ + "M50" + ], + "family": "Huffman" + }, + { + "index": 54, + "ppt_name": "Huff0", + "reference_ids": [ + "M49" + ], + "family": "Huff0" + }, + { + "index": 55, + "ppt_name": "Arithmetic", + "reference_ids": [ + "M51" + ], + "family": "Arithmetic" + }, + { + "index": 56, + "ppt_name": "Blosc", + "reference_ids": [ + "M52" + ], + "family": "Blosc" + }, + { + "index": 57, + "ppt_name": "Blosc2", + "reference_ids": [ + "M52" + ], + "family": "Blosc2" + }, + { + "index": 58, + "ppt_name": "BriefLZ", + "reference_ids": [ + "M53" + ], + "family": "BriefLZ" + }, + { + "index": 59, + "ppt_name": "BSC", + "reference_ids": [ + "M54" + ], + "family": "BSC" + }, + { + "index": 60, + "ppt_name": "Bzip2", + "reference_ids": [ + "M55" + ], + "family": "Bzip2" + }, + { + "index": 61, + "ppt_name": "Bzip3", + "reference_ids": [ + "M56" + ], + "family": "Bzip3" + }, + { + "index": 62, + "ppt_name": "Crush", + "reference_ids": [ + "M57" + ], + "family": "Crush" + }, + { + "index": 63, + "ppt_name": "CSC", + "reference_ids": [ + "M58" + ], + "family": "CSC" + }, + { + "index": 64, + "ppt_name": "FastLZ", + "reference_ids": [ + "M59" + ], + "family": "FastLZ" + }, + { + "index": 65, + "ppt_name": "FastLZMA2", + "reference_ids": [ + "M60" + ], + "family": "FastLZMA2" + }, + { + "index": 66, + "ppt_name": "Kanzi", + "reference_ids": [ + "M61" + ], + "family": "Kanzi" + }, + { + "index": 67, + "ppt_name": "Libdeflate", + "reference_ids": [ + "M62" + ], + "family": "Libdeflate" + }, + { + "index": 68, + "ppt_name": "Lizard", + "reference_ids": [ + "M63" + ], + "family": "Lizard" + }, + { + "index": 69, + "ppt_name": "LZ4 Fast", + "reference_ids": [ + "M64" + ], + "family": "LZ4 Fast" + }, + { + "index": 70, + "ppt_name": "LZ4HC", + "reference_ids": [ + "M64" + ], + "family": "LZ4HC" + }, + { + "index": 71, + "ppt_name": "LZAV", + "reference_ids": [ + "M65" + ], + "family": "LZAV" + }, + { + "index": 72, + "ppt_name": "LZF", + "reference_ids": [ + "M66" + ], + "family": "LZF" + }, + { + "index": 73, + "ppt_name": "LZFSE", + "reference_ids": [ + "M39" + ], + "family": "LZFSE" + }, + { + "index": 74, + "ppt_name": "LZG", + "reference_ids": [ + "M67" + ], + "family": "LZG" + }, + { + "index": 75, + "ppt_name": "LZHAM", + "reference_ids": [ + "M68" + ], + "family": "LZHAM" + }, + { + "index": 76, + "ppt_name": "LZJB", + "reference_ids": [ + "M69" + ], + "family": "LZJB" + }, + { + "index": 77, + "ppt_name": "Lzlib", + "reference_ids": [ + "M70" + ], + "family": "Lzlib" + }, + { + "index": 78, + "ppt_name": "PPMD8", + "reference_ids": [ + "M71" + ], + "family": "PPMD8" + }, + { + "index": 79, + "ppt_name": "QuickLZ", + "reference_ids": [ + "M72" + ], + "family": "QuickLZ" + }, + { + "index": 80, + "ppt_name": "SLZ", + "reference_ids": [ + "M73" + ], + "family": "SLZ" + }, + { + "index": 81, + "ppt_name": "Tornado", + "reference_ids": [ + "M74" + ], + "family": "Tornado" + }, + { + "index": 82, + "ppt_name": "Zlib", + "reference_ids": [ + "M75" + ], + "family": "Zlib" + }, + { + "index": 83, + "ppt_name": "Zlib-ng", + "reference_ids": [ + "M76" + ], + "family": "Zlib-ng" + }, + { + "index": 84, + "ppt_name": "Zling", + "reference_ids": [ + "M77" + ], + "family": "Zling" + }, + { + "index": 85, + "ppt_name": "ZXC", + "reference_ids": [ + "M78" + ], + "family": "ZXC" + }, + { + "index": 86, + "ppt_name": "TAMP", + "reference_ids": [ + "M79" + ], + "family": "TAMP" + } + ], + "additional_measured_families": [ + { + "family": "BSS+LZ4", + "affiliation": "Project-specific composition of a Parquet BYTE_STREAM_SPLIT-style transform and LZ4 framing.", + "reference_ids": [ + "S01", + "M30" + ] + }, + { + "family": "LZO1X", + "affiliation": "Variant of PPT LZO1.", + "reference_ids": [ + "M36" + ] + }, + { + "family": "Slz_deflate", + "affiliation": "Wrapper-specific split of PPT SLZ.", + "reference_ids": [ + "M73" + ] + }, + { + "family": "Slz_gzip", + "affiliation": "Wrapper-specific split of PPT SLZ.", + "reference_ids": [ + "M73", + "M27" + ] + }, + { + "family": "Slz_zlib", + "affiliation": "Wrapper-specific split of PPT SLZ.", + "reference_ids": [ + "M73", + "M75" + ] + }, + { + "family": "Sub-column", + "affiliation": "Project-specific composition.", + "reference_ids": [ + "M09", + "M10", + "M13" + ] + }, + { + "family": "UCL NRV2b", + "affiliation": "Variant of PPT NRV.", + "reference_ids": [ + "M42" + ] + } + ], + "description_note": "Descriptions outline the cited designs and the selected project kernels. Reference sources are from presentation Notes, with an additional official source for BYTE_STREAM_SPLIT." + } +}