jzxiao's picture
Complete five C++ methods on 135 datasets with lossless compact transport
a667e58 verified
|
Raw History Blame Contribute Delete
6.39 kB
---
title: Time Series Compression Benchmark
emoji: ๐Ÿ“Š
colorFrom: green
colorTo: gray
sdk: static
app_file: index.html
pinned: false
short_description: Compression rates and compress/decompress costs
---
# THULab Compression Benchmark
The active test scope contains **137 datasets** and 85 active C++ method families. The user selected a uniform rule: exclude datasets with fewer than 128 valid values on average per numerical column/entity sequence; retain datasets at exactly 128. Compression performance does not participate in this selection. Timestamp-only medium_posts is separately ineligible because its scientific input contract excludes timestamps and admits no numerical value payload; its mean is undefined, not zero. The previous 160 scope and raw 164 archive remain preserved in Git history and the immutable result files.
`final-dataset-scope.json` and `sequence-length-audit.json` freeze the exact identities and length evidence. The active catalog retains 2 corrected-input retests pending; currently 135 dataset identities contribute numeric Overall measurements. Superseded incomplete inputs are excluded across C++, Java, Python and all dtype slices, without older fallback. Input and retest status is in `final-input-status.json`.
C++ selects the latest receipt-bound authority per dataset and canonical method. Its active comparison is restricted to the 85 method contract; two extra historical methods remain in raw downloads. Java/Python retain their published source profiles. Numeric dtype-specific results, terminal N/A, unsupported and retest-pending states remain distinct. Overall method cells contain only the method/configuration name; details explain coverage and retain provenance. CSV includes source hosts, support sets, timing admission and the active scope.
Compression rate remains complete compressed-frame bytes divided by original numeric binary bytes. The three shared CSV metadata files are not added to the compressed numerator. No ratio is inverted, clipped or altered. `ranking.js` is unchanged. The latest C++ view imports the completed server-192 main26 campaign plus four exact-disjoint Camel recovery selections: 3,510 dataset-method conclusions across 135 measured datasets (within the 137-dataset catalog and 85 active-family contract), comprising 1,529 full-support, 629 partial-support and 1,352 unsupported conclusions and 4,037 numeric Overall/integer/float scope rows. Compression and decompression timing uses the same-host W1/R3/T1 contract; compression bytes are complete NGF1 frames per input block, and every measured `ok` frame passed built-in bit-exact Block equality outside the timed interval. This does not claim independent fresh-process verification. No cross-host timing is mixed in the new rows. Updated raw compact results, the publication manifest and source-selection evidence are bound by the Main26 receipts. To keep the append-only Space below its storage limit, the canonical full result snapshot is published as a deterministic Brotli transport, while the UI snapshot and latest-view sidecar use deterministic gzip transports; compressed and decompressed SHA-256 values are frozen. The earlier `data.json`, `data-main26.json.gz`, `ui-data.json`, and `cpp-latest-view.json` objects remain immutable historical artifacts. The latest page reads `ui-data-uniform675.json.gz` and the SHA-verified `cpp-latest-view-main26.json.gz` sidecar, while its snapshot download points to `data-main26.json.br`. Cross-host/campaign timing is not pooled into strict rankings; admitted timed subsets remain explicitly labeled and do not enter strict composite scores.
Historical operator byte effects are retained as diagnostics. Current-scope, corrected-input operator results remain pending and must be independently accepted before replacing them. Dataset corrections are documented in `FINAL160_FORMAT_AUDIT.json`; its previous 160-dataset investigation is a historical parent-scope audit, not the active selection list.
The historical `164ร—85=13,940` terminal matrix remains downloadable and is not a current-scope completion claim. [Parent documentation](https://huggingface.co/spaces/THULab/CompressionBenchmark/blob/799b74b93d0c1a25b7b7a085614f6a2c8e631468/README.md) preserves the previous pipeline and provenance.
## DSC2 BOS/REGER reuse
The latest C++ view additionally replaces exactly 24 formerly partial BOS/REGER pairs over 12 datasets. Repaired float columns use the DSC2 v2 route; successful integer columns retain their Main26 route. All work ran on server 192 under the staged W1/R3/T1 contract (three encode measurements followed by three decode measurements), with precision derived once per float method-column and built-in complete Block bit-exact checks. Composite rows retain every binary, terminal, profile and source route; no scalar binary identity is invented.
## Completed lossless recovery
This release appends 3915 dtype-scope rows and replaces exactly 1,688 latest C++ pair decisions from the completed integer89 and native15 campaigns. All measurements ran on server 192 with W1/R3/T1 and built-in exact complete-Block checks. Historical rows and the prior DSC2 release remain unchanged.
## Improved lossless BUFF/CORAD variants
This release appends 626 dtype-scope rows and replaces exactly 270 latest C++ pair decisions with the completed BUFF-v2 and CORAD exact-repair variants. The earlier native variants and every unrelated result remain in append-only history. Measurements use server 192, W1/R3/T1, and built-in exact complete-Block checks.
## Uniform server192 five-method remeasurement
This release appends 1565 dtype-scope rows and replaces exactly 675 latest C++ pair decisions with the completed uniform CSC, LZJB, LZSSE, Shrinker, and Tornado remeasurement. The earlier native variants and every unrelated result remain in append-only history. Measurements use server 192, W1/R3/T1, and built-in exact complete-Block checks.
## Uniform-five675 transport decoding
The Brotli file expands to the exact canonical full JSON identified in `manifest.json`. For example: `python3 -c "import brotli,sys; sys.stdout.buffer.write(brotli.decompress(open('data-main26.json.br','rb').read()))" > data-main26.json`. The browser uses `DecompressionStream('gzip')` for `ui-data-uniform675.json.gz`; the page verifies both compressed and decompressed SHA-256 values before parsing.