Spaces:
Running
Running
Update 26 C++ methods on 135 datasets with repaired results
Browse filesIntegrate 3,510 main26 conclusions and all Camel recovery overlays; preserve historical results. Publish complete numeric scopes, explicit partial/unsupported outcomes and original host/configuration provenance. Store large result snapshots with lossless gzip packaging to fit Space storage; numerical payloads are unchanged.
- CPP135_MAIN26_AGGREGATE_RECEIPT.json +96 -0
- CPP135_MAIN26_INPUT_SHA256SUMS.txt +4 -0
- CPP135_MAIN26_SELECTED_SOURCES.json +0 -0
- CPP135_MAIN26_SITE_ACCEPTANCE.json +90 -0
- CPP135_MAIN26_SITE_INTEGRATION.json +147 -0
- README.md +1 -1
- app.js +8 -4
- build_main26_site.py +927 -0
- cpp-latest-view-main26.json.gz +3 -0
- cpp135-main26-column-results.jsonl.gz +3 -0
- cpp135-main26-dataset-method-results.jsonl.gz +3 -0
- data-main26.json.gz +3 -0
- index.html +3 -3
- manifest.json +219 -11
- ui-data.json +0 -0
CPP135_MAIN26_AGGREGATE_RECEIPT.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"algorithm_independent_eligible_support_sha": "passed for every dataset with at least one full-support method",
|
| 3 |
+
"byte_boundary": "complete NGF1 frame bytes per input block; no outer P172 compound",
|
| 4 |
+
"column_method_rows": 91494,
|
| 5 |
+
"column_support_counts": {
|
| 6 |
+
"full_numeric": 56701,
|
| 7 |
+
"partial_support": 947,
|
| 8 |
+
"unsupported": 33846
|
| 9 |
+
},
|
| 10 |
+
"created_epoch_ns": 1792058561784005414,
|
| 11 |
+
"dataset_count": 135,
|
| 12 |
+
"dataset_method_rows": 3510,
|
| 13 |
+
"dataset_method_support_counts": {
|
| 14 |
+
"full_numeric": 1529,
|
| 15 |
+
"partial_support": 629,
|
| 16 |
+
"unsupported": 1352
|
| 17 |
+
},
|
| 18 |
+
"dsc2_excluded": true,
|
| 19 |
+
"eligible_support_sha_rule": "canonical SHA256 of sorted input manifest SHA256 values; populated only for full valid support",
|
| 20 |
+
"files": {
|
| 21 |
+
"COLUMN_RESULTS.jsonl.gz": {
|
| 22 |
+
"bytes": 15699577,
|
| 23 |
+
"sha256": "6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b"
|
| 24 |
+
},
|
| 25 |
+
"DATASET_METHOD_RESULTS.jsonl.gz": {
|
| 26 |
+
"bytes": 457656,
|
| 27 |
+
"sha256": "5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b"
|
| 28 |
+
},
|
| 29 |
+
"selected_sources.json": {
|
| 30 |
+
"bytes": 1938310,
|
| 31 |
+
"sha256": "50cc9edd30e3d3a6c7314bf3f28bf16d0a56ce095f9849c2fccb4a7a470eebfc"
|
| 32 |
+
}
|
| 33 |
+
},
|
| 34 |
+
"input_manifest_binding": "raw manifest SHA256; every manifest embeds block_id, sequence SHA, values SHA, missing-bitmap SHA and counts",
|
| 35 |
+
"input_manifest_files_hashed": 3519,
|
| 36 |
+
"lossless_evidence": "producer built-in exact Block equality outside timed interval for every ok measurement; no independent fresh verifier is claimed",
|
| 37 |
+
"method_count": 26,
|
| 38 |
+
"methods": [
|
| 39 |
+
"2DIFF",
|
| 40 |
+
"ALP",
|
| 41 |
+
"BOS",
|
| 42 |
+
"BUFF",
|
| 43 |
+
"CORAD",
|
| 44 |
+
"Camel",
|
| 45 |
+
"Chimp",
|
| 46 |
+
"Chimp128",
|
| 47 |
+
"DBP",
|
| 48 |
+
"Elf",
|
| 49 |
+
"Elf+",
|
| 50 |
+
"FPC",
|
| 51 |
+
"FPCmp-R",
|
| 52 |
+
"FPCmp-S",
|
| 53 |
+
"FPZIP",
|
| 54 |
+
"FastPFor",
|
| 55 |
+
"Gorilla",
|
| 56 |
+
"LECO",
|
| 57 |
+
"PFPC",
|
| 58 |
+
"Pongo",
|
| 59 |
+
"REGER",
|
| 60 |
+
"RLBE",
|
| 61 |
+
"SPDP",
|
| 62 |
+
"SVB",
|
| 63 |
+
"Simple8b",
|
| 64 |
+
"Sprintz"
|
| 65 |
+
],
|
| 66 |
+
"old_results_preserved": true,
|
| 67 |
+
"pre_enrichment_receipt_sha256": "80c59eb8bf4ac7ffc032490c2338251e81c0b186489fbb40cfdabee2f4971c3e",
|
| 68 |
+
"primary_metric": "arithmetic mean across nonempty columns; compression ratio and ns/valid-native-point are null unless whole dataset valid support",
|
| 69 |
+
"raw_evidence_roots": [
|
| 70 |
+
"/data/root/web_compression/cpp135_simple_remeasure_20261015_v1/attempt1",
|
| 71 |
+
"/data/root/web_compression/cpp135_192_simple_remeasure_20261015_v1/camel_recovery_v1/attempt1",
|
| 72 |
+
"/data/root/web_compression/cpp135_192_simple_remeasure_20261015_v1/camel_recovery_v2/attempt1",
|
| 73 |
+
"/data/root/web_compression/cpp135_192_simple_remeasure_20261015_v1/camel_recovery_v3/attempt1",
|
| 74 |
+
"/data/root/web_compression/cpp135_192_simple_remeasure_20261015_v1/camel_recovery_v4/attempt1"
|
| 75 |
+
],
|
| 76 |
+
"raw_result_jsonl_read_rule": "each selected result JSONL is streamed exactly once; frame payloads are never read",
|
| 77 |
+
"row_status_counts": {
|
| 78 |
+
"N/A": 369985,
|
| 79 |
+
"ok": 11046868,
|
| 80 |
+
"unsupported": 3092057
|
| 81 |
+
},
|
| 82 |
+
"schema": "cpp135-main26-aggregate-receipt-v2",
|
| 83 |
+
"selected_key_sources": {
|
| 84 |
+
"base": 3136,
|
| 85 |
+
"recovery_v1": 119,
|
| 86 |
+
"recovery_v2": 51,
|
| 87 |
+
"recovery_v3": 34,
|
| 88 |
+
"recovery_v4": 170
|
| 89 |
+
},
|
| 90 |
+
"status": "complete_summarized_builtin_lossless_not_independent_fresh_verification",
|
| 91 |
+
"streamed_result_bytes": 32686714214,
|
| 92 |
+
"streamed_result_files": 7038,
|
| 93 |
+
"timing": "same server192 profile; W1/R3/T1; original float precision derivation charged once per method and column by producer",
|
| 94 |
+
"timing_scope_filter": "only ok/N-A measured-row timing scope retained; unsupported-only rows do not define timing",
|
| 95 |
+
"typed_route_contract_sha_rule": "separate canonical digest of configuration/profile/measured timing scope/implementation/CLI/runtime/terminal and NGF1 contract"
|
| 96 |
+
}
|
CPP135_MAIN26_INPUT_SHA256SUMS.txt
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b COLUMN_RESULTS.jsonl.gz
|
| 2 |
+
5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b DATASET_METHOD_RESULTS.jsonl.gz
|
| 3 |
+
50cc9edd30e3d3a6c7314bf3f28bf16d0a56ce095f9849c2fccb4a7a470eebfc selected_sources.json
|
| 4 |
+
f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337 RECEIPT.json
|
CPP135_MAIN26_SELECTED_SOURCES.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
CPP135_MAIN26_SITE_ACCEPTANCE.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"admission": {
|
| 3 |
+
"all_missing_frames": "all_missing_complete_frame_bytes is a subset of measured_complete_frame_bytes and is never added twice",
|
| 4 |
+
"lossless": "built-in bit-exact decode checks cover measured frames; no independent fresh-process verification claim",
|
| 5 |
+
"partial_and_terminal": "partial Overall never receives a numeric row; a completely supported dtype scope may remain numeric, while every absent scope has no old fallback",
|
| 6 |
+
"rate_bytes": "published only for a full_numeric Overall/integer/float scope as complete NGF1 frame bytes divided by original valid numeric bytes in that exact scope",
|
| 7 |
+
"timing": "published only for a full_numeric scope under one server-192 W1/R3/T1 column contract as equal-column arithmetic mean of ns per valid native-width point"
|
| 8 |
+
},
|
| 9 |
+
"aggregate_receipt": {
|
| 10 |
+
"file": "CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 11 |
+
"schema": "cpp135-main26-aggregate-receipt-v2",
|
| 12 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337",
|
| 13 |
+
"status": "complete_summarized_builtin_lossless_not_independent_fresh_verification"
|
| 14 |
+
},
|
| 15 |
+
"created_at": "2026-10-15T10:05:54.501279+00:00",
|
| 16 |
+
"dtype_scope_status_counts": {
|
| 17 |
+
"float": {
|
| 18 |
+
"numeric": 1936,
|
| 19 |
+
"partial_numeric": 193,
|
| 20 |
+
"unsupported": 1355
|
| 21 |
+
},
|
| 22 |
+
"integer": {
|
| 23 |
+
"numeric": 572,
|
| 24 |
+
"unsupported": 572
|
| 25 |
+
},
|
| 26 |
+
"overall": {
|
| 27 |
+
"numeric": 1529,
|
| 28 |
+
"partial_numeric": 629,
|
| 29 |
+
"unsupported": 1352
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
"inputs": {
|
| 33 |
+
"CPP135_MAIN26_AGGREGATE_RECEIPT.json": {
|
| 34 |
+
"bytes": 3683,
|
| 35 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337"
|
| 36 |
+
},
|
| 37 |
+
"CPP135_MAIN26_SELECTED_SOURCES.json": {
|
| 38 |
+
"bytes": 1938310,
|
| 39 |
+
"sha256": "50cc9edd30e3d3a6c7314bf3f28bf16d0a56ce095f9849c2fccb4a7a470eebfc"
|
| 40 |
+
},
|
| 41 |
+
"cpp135-main26-column-results.jsonl.gz": {
|
| 42 |
+
"bytes": 15699577,
|
| 43 |
+
"sha256": "6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b"
|
| 44 |
+
},
|
| 45 |
+
"cpp135-main26-dataset-method-results.jsonl.gz": {
|
| 46 |
+
"bytes": 457656,
|
| 47 |
+
"sha256": "5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b"
|
| 48 |
+
}
|
| 49 |
+
},
|
| 50 |
+
"pair_status_counts": {
|
| 51 |
+
"numeric": 1529,
|
| 52 |
+
"partial_numeric": 629,
|
| 53 |
+
"unsupported": 1352
|
| 54 |
+
},
|
| 55 |
+
"schema": "compressionbenchmark-cpp135-main26-site-acceptance-v1",
|
| 56 |
+
"scope": {
|
| 57 |
+
"dataset_count": 135,
|
| 58 |
+
"method_count": 26,
|
| 59 |
+
"method_ids": [
|
| 60 |
+
"ALP",
|
| 61 |
+
"BUFF",
|
| 62 |
+
"CORAD",
|
| 63 |
+
"Camel",
|
| 64 |
+
"Chimp",
|
| 65 |
+
"Chimp128",
|
| 66 |
+
"Elf",
|
| 67 |
+
"Elf+",
|
| 68 |
+
"FPC",
|
| 69 |
+
"FPCmp-R",
|
| 70 |
+
"FPCmp-S",
|
| 71 |
+
"FPZIP",
|
| 72 |
+
"Gorilla",
|
| 73 |
+
"PFPC",
|
| 74 |
+
"Pongo",
|
| 75 |
+
"SPDP",
|
| 76 |
+
"Sprintz",
|
| 77 |
+
"2DIFF",
|
| 78 |
+
"BOS",
|
| 79 |
+
"DBP",
|
| 80 |
+
"FastPFor",
|
| 81 |
+
"LECO",
|
| 82 |
+
"REGER",
|
| 83 |
+
"RLBE",
|
| 84 |
+
"SVB",
|
| 85 |
+
"Simple8b"
|
| 86 |
+
],
|
| 87 |
+
"pair_count": 3510
|
| 88 |
+
},
|
| 89 |
+
"status": "accepted_completed_builtin_bitexact"
|
| 90 |
+
}
|
CPP135_MAIN26_SITE_INTEGRATION.json
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"candidate_revision": "v4_gzip_transport_manifest_closure",
|
| 3 |
+
"created_at": "2026-10-15T10:29:23.734229+00:00",
|
| 4 |
+
"files": {
|
| 5 |
+
"CPP135_MAIN26_AGGREGATE_RECEIPT.json": {
|
| 6 |
+
"bytes": 3683,
|
| 7 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337"
|
| 8 |
+
},
|
| 9 |
+
"CPP135_MAIN26_INPUT_SHA256SUMS.txt": {
|
| 10 |
+
"bytes": 355,
|
| 11 |
+
"sha256": "24d6eec79a4e09cd0e8c9819dc23d9723812867158869d7214caf0f1b9a75c24"
|
| 12 |
+
},
|
| 13 |
+
"CPP135_MAIN26_SELECTED_SOURCES.json": {
|
| 14 |
+
"bytes": 1938310,
|
| 15 |
+
"sha256": "50cc9edd30e3d3a6c7314bf3f28bf16d0a56ce095f9849c2fccb4a7a470eebfc"
|
| 16 |
+
},
|
| 17 |
+
"CPP135_MAIN26_SITE_ACCEPTANCE.json": {
|
| 18 |
+
"bytes": 2860,
|
| 19 |
+
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 20 |
+
},
|
| 21 |
+
"README.md": {
|
| 22 |
+
"bytes": 4188,
|
| 23 |
+
"sha256": "c89a678703ff26d46f676a8bb807aff3da30c74961c21063ea277307c8e8af99"
|
| 24 |
+
},
|
| 25 |
+
"app.js": {
|
| 26 |
+
"bytes": 69465,
|
| 27 |
+
"sha256": "39ca6b54fb0dcc0b722f0a84ea7e5175151de0225bfb65d4e40b53cf54fc204a"
|
| 28 |
+
},
|
| 29 |
+
"build_gzip_storage_recovery.py": {
|
| 30 |
+
"bytes": 17650,
|
| 31 |
+
"sha256": "5ae7e125c6aab30f95cd6c05681111dfec9a94832ec44181491134a0d33ae401"
|
| 32 |
+
},
|
| 33 |
+
"build_main26_site.py": {
|
| 34 |
+
"bytes": 59034,
|
| 35 |
+
"sha256": "0112b3121303e361b319791c3fbf5d8c230e3636fd1f7ce5197e9ccacc4712d9"
|
| 36 |
+
},
|
| 37 |
+
"cpp-latest-view-main26.json.gz": {
|
| 38 |
+
"bytes": 837481,
|
| 39 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180"
|
| 40 |
+
},
|
| 41 |
+
"cpp135-main26-column-results.jsonl.gz": {
|
| 42 |
+
"bytes": 15699577,
|
| 43 |
+
"sha256": "6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b"
|
| 44 |
+
},
|
| 45 |
+
"cpp135-main26-dataset-method-results.jsonl.gz": {
|
| 46 |
+
"bytes": 457656,
|
| 47 |
+
"sha256": "5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b"
|
| 48 |
+
},
|
| 49 |
+
"data-main26.json.gz": {
|
| 50 |
+
"bytes": 10041708,
|
| 51 |
+
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8"
|
| 52 |
+
},
|
| 53 |
+
"index.html": {
|
| 54 |
+
"bytes": 17814,
|
| 55 |
+
"sha256": "3a788a52e1ff441a3782aef8b34d3aaf77cc24424a7a3286c659f46a9717d2e8"
|
| 56 |
+
},
|
| 57 |
+
"manifest.json": {
|
| 58 |
+
"bytes": 95687,
|
| 59 |
+
"sha256": "15d2d18dd65f2c811a88149dd12c8ca3dd3b1089d7b4b8723f6767c823734ba0"
|
| 60 |
+
},
|
| 61 |
+
"ui-data.json": {
|
| 62 |
+
"bytes": 9697244,
|
| 63 |
+
"sha256": "841b15cbef0c346b43d72ab3c9530065abe4d24c45aef64d5e75d8ec49996f8f"
|
| 64 |
+
}
|
| 65 |
+
},
|
| 66 |
+
"final_dataset_result_count": 99008,
|
| 67 |
+
"historical_dataset_results_canonical_sha256": "213ac4e2c2d53801095316040d633cfd9541055ffc939b62a5b46ab95f442547",
|
| 68 |
+
"new_dataset_result_count": 4037,
|
| 69 |
+
"old_dataset_result_count": 94971,
|
| 70 |
+
"page_checks_required_after_publication": [
|
| 71 |
+
"C++ Overall uses the latest main26 decision for all exact 135 x 26 pairs",
|
| 72 |
+
"full-support rows show server-192 provenance and one W1/R3/T1 timing contract",
|
| 73 |
+
"partial, unsupported and not-applicable pairs do not fall back to old numeric rows",
|
| 74 |
+
"CSV retains source host, binary/support identity, measurement status and timing status"
|
| 75 |
+
],
|
| 76 |
+
"parent_revision": "963f2ff216fd95ffba42d625a12765169eb4d850",
|
| 77 |
+
"publication_file_list": [
|
| 78 |
+
"data-main26.json.gz",
|
| 79 |
+
"ui-data.json",
|
| 80 |
+
"cpp-latest-view-main26.json.gz",
|
| 81 |
+
"app.js",
|
| 82 |
+
"index.html",
|
| 83 |
+
"README.md",
|
| 84 |
+
"manifest.json",
|
| 85 |
+
"build_gzip_storage_recovery.py",
|
| 86 |
+
"cpp135-main26-column-results.jsonl.gz",
|
| 87 |
+
"cpp135-main26-dataset-method-results.jsonl.gz",
|
| 88 |
+
"CPP135_MAIN26_SELECTED_SOURCES.json",
|
| 89 |
+
"CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 90 |
+
"CPP135_MAIN26_INPUT_SHA256SUMS.txt",
|
| 91 |
+
"CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
| 92 |
+
"build_main26_site.py",
|
| 93 |
+
"CPP135_MAIN26_SITE_INTEGRATION.json"
|
| 94 |
+
],
|
| 95 |
+
"schema": "compressionbenchmark-cpp135-main26-site-integration-v1",
|
| 96 |
+
"scope": {
|
| 97 |
+
"measured_datasets": 135,
|
| 98 |
+
"methods": 26,
|
| 99 |
+
"pair_count": 3510,
|
| 100 |
+
"pair_status_counts": {
|
| 101 |
+
"numeric": 1529,
|
| 102 |
+
"partial_numeric": 629,
|
| 103 |
+
"unsupported": 1352
|
| 104 |
+
}
|
| 105 |
+
},
|
| 106 |
+
"semantic_checks": {
|
| 107 |
+
"all_3510_latest_pair_decisions_replaced": true,
|
| 108 |
+
"app_javascript_syntax": "pass",
|
| 109 |
+
"compressed_bytes_include_NA_frames_once": true,
|
| 110 |
+
"data_ui_sidecar_hash_closure": true,
|
| 111 |
+
"gzip_packager_source_published": true,
|
| 112 |
+
"gzip_transport_decompresses_byte_exact_to_canonical_v2_payload": true,
|
| 113 |
+
"historical_rows_retained_byte_for_byte_in_canonical_order": true,
|
| 114 |
+
"large_uncompressed_data_and_sidecar_excluded_from_publication_delta": true,
|
| 115 |
+
"latest_page_never_reads_legacy_large_files": true,
|
| 116 |
+
"manifest_exact_file_transport_and_legacy_closure": true,
|
| 117 |
+
"numeric_rows_only_for_full_valid_support_within_exact_dtype_scope": true,
|
| 118 |
+
"partial_overall_never_published_but_full_dtype_scope_retained": true,
|
| 119 |
+
"partial_unsupported_not_applicable_numeric_fallback_count": 0,
|
| 120 |
+
"ranking_js_unchanged": true,
|
| 121 |
+
"readme_main26_scope_and_measurement_contract_updated": true
|
| 122 |
+
},
|
| 123 |
+
"status": "passed_not_published",
|
| 124 |
+
"storage_plan": {
|
| 125 |
+
"estimated_remaining_after_files_before_integration": 77713466,
|
| 126 |
+
"excluded_uncompressed_bytes": 185591944,
|
| 127 |
+
"official_limit_bytes": 1000000000,
|
| 128 |
+
"official_remaining_bytes_before": 116656178,
|
| 129 |
+
"official_used_bytes_before": 883343822,
|
| 130 |
+
"publication_delta_bytes": 38942712,
|
| 131 |
+
"transport_files": {
|
| 132 |
+
"cpp_latest_view": {
|
| 133 |
+
"encoding": "gzip",
|
| 134 |
+
"file": "cpp-latest-view-main26.json.gz",
|
| 135 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 136 |
+
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 137 |
+
},
|
| 138 |
+
"data": {
|
| 139 |
+
"encoding": "gzip",
|
| 140 |
+
"file": "data-main26.json.gz",
|
| 141 |
+
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 142 |
+
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 143 |
+
}
|
| 144 |
+
}
|
| 145 |
+
},
|
| 146 |
+
"supersedes_candidate": "candidate_main26_v3"
|
| 147 |
+
}
|
README.md
CHANGED
|
@@ -17,7 +17,7 @@ The active test scope contains **137 datasets** and 85 active C++ method familie
|
|
| 17 |
|
| 18 |
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.
|
| 19 |
|
| 20 |
-
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`, the
|
| 21 |
|
| 22 |
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.
|
| 23 |
|
|
|
|
| 17 |
|
| 18 |
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.
|
| 19 |
|
| 20 |
+
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 and latest-view sidecar are published as deterministic gzip transports; their compressed and decompressed SHA-256 values are frozen. The earlier `data.json` and `cpp-latest-view.json` objects remain immutable historical artifacts; the latest page reads `ui-data.json` and the SHA-verified `cpp-latest-view-main26.json.gz` sidecar, while its snapshot download points to `data-main26.json.gz`. Cross-host/campaign timing is not pooled into strict rankings; admitted timed subsets remain explicitly labeled and do not enter strict composite scores.
|
| 21 |
|
| 22 |
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.
|
| 23 |
|
app.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import {FINAL160_SCOPE,FINAL160_INPUT_STATUS,applyFinal160Scope,filterFinal160Catalog,final160CoverageForFamily} from './final-scope.js?v=20261013-min128-v1';
|
| 2 |
import {WEIGHT_TENTHS,parseWeights,addRankingMetrics} from './ranking.js?v=20261011-support-matched-v1';
|
| 3 |
import {DEFAULT_PROFILE,profileLabel,defaultColumnVisible,metricAvailability,summarizeAvailability,visibleColumns,profileScopeText,aggregateTimedSubset,strictTimingMode} from './availability.js?v=20261013-overall-availability-v3';
|
| 4 |
-
const CPP_LATEST_VIEW_SHA256='
|
|
|
|
| 5 |
const $ = (id) => document.getElementById(id);
|
| 6 |
const escape = (value) => String(value ?? '').replace(/[&<>"']/g, (c) => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 7 |
const number = (v) => v != null && Number.isFinite(Number(v)) ? Number(v) : null;
|
|
@@ -383,7 +384,7 @@ function decodeCompactRecord(row,index) {
|
|
| 383 |
return {_compact_index:index,dataset:t.datasets[row[0]],scope:t.scopes[row[1]],runtime:t.runtimes[row[2]],comparison_profile:t.comparison_profiles[row[3]],family:t.families[row[4]],method:t.configurations[row[5]],algorithm_variant:t.configurations[row[5]],compression_rate:row[6],compression_time_ns_per_point:row[7],decompression_time_ns_per_point:row[8],original_size_bytes:row[9],compressed_size_bytes:row[10],timing_column_count:row[11],timing_aggregation:t.timing_aggregations[row[12]],eligible_column_set_sha256:t.support_sets[row[13]],measurement_status:t.measurement_statuses[row[14]],timing_profile_status:t.timing_statuses[row[15]],binary_sha256:t.binary_hashes[row[16]]};
|
| 384 |
}
|
| 385 |
function applyCppLatestView() {
|
| 386 |
-
if(!cppLatestView||cppLatestView.schema!=='compressionbenchmark-cpp-latest-view-v1'||cppLatestView.status!=='
|
| 387 |
const compact=snapshot.compact_records;if(!Array.isArray(compact))throw new Error('The SHA-bound compact record table is missing.');
|
| 388 |
if(cppLatestView.baseline?.compact_record_count!==compact.length)throw new Error('The combined C++ sidecar compact-record count does not match the frozen payload.');
|
| 389 |
if(cppLatestView.baseline?.data_sha256!==snapshot.source_data_sha256)throw new Error('The combined C++ sidecar source data hash does not match the frozen payload.');
|
|
@@ -462,10 +463,13 @@ void loadReferenceCatalog();
|
|
| 462 |
void loadOperatorEffect();
|
| 463 |
void loadDatasetCatalog();
|
| 464 |
async function sha256Hex(buffer){const digest=await crypto.subtle.digest('SHA-256',buffer);return [...new Uint8Array(digest)].map(byte=>byte.toString(16).padStart(2,'0')).join('');}
|
|
|
|
| 465 |
try {
|
| 466 |
-
const [snapshotResponse,sidecarResponse]=await Promise.all([fetch('./ui-data.json?v=20261015-
|
| 467 |
if(!snapshotResponse.ok)throw new Error(`Snapshot request returned ${snapshotResponse.status}`);if(!sidecarResponse.ok)throw new Error(`Combined C++ sidecar request returned ${sidecarResponse.status}`);
|
| 468 |
-
const [snapshotBuffer,
|
|
|
|
|
|
|
| 469 |
const sidecarSha=await sha256Hex(sidecarBuffer);if(sidecarSha!==CPP_LATEST_VIEW_SHA256)throw new Error('The combined C++ sidecar does not match the independently reviewed release selection.');
|
| 470 |
const sidecarValue=JSON.parse(new TextDecoder().decode(sidecarBuffer));
|
| 471 |
const snapshotSha=await sha256Hex(snapshotBuffer);if(snapshotSha!==sidecarValue?.baseline?.ui_data_sha256)throw new Error('The combined C++ sidecar is not bound to this exact UI snapshot.');
|
|
|
|
| 1 |
import {FINAL160_SCOPE,FINAL160_INPUT_STATUS,applyFinal160Scope,filterFinal160Catalog,final160CoverageForFamily} from './final-scope.js?v=20261013-min128-v1';
|
| 2 |
import {WEIGHT_TENTHS,parseWeights,addRankingMetrics} from './ranking.js?v=20261011-support-matched-v1';
|
| 3 |
import {DEFAULT_PROFILE,profileLabel,defaultColumnVisible,metricAvailability,summarizeAvailability,visibleColumns,profileScopeText,aggregateTimedSubset,strictTimingMode} from './availability.js?v=20261013-overall-availability-v3';
|
| 4 |
+
const CPP_LATEST_VIEW_SHA256='f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e';
|
| 5 |
+
const CPP_LATEST_VIEW_GZIP_SHA256='818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180';
|
| 6 |
const $ = (id) => document.getElementById(id);
|
| 7 |
const escape = (value) => String(value ?? '').replace(/[&<>"']/g, (c) => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 8 |
const number = (v) => v != null && Number.isFinite(Number(v)) ? Number(v) : null;
|
|
|
|
| 384 |
return {_compact_index:index,dataset:t.datasets[row[0]],scope:t.scopes[row[1]],runtime:t.runtimes[row[2]],comparison_profile:t.comparison_profiles[row[3]],family:t.families[row[4]],method:t.configurations[row[5]],algorithm_variant:t.configurations[row[5]],compression_rate:row[6],compression_time_ns_per_point:row[7],decompression_time_ns_per_point:row[8],original_size_bytes:row[9],compressed_size_bytes:row[10],timing_column_count:row[11],timing_aggregation:t.timing_aggregations[row[12]],eligible_column_set_sha256:t.support_sets[row[13]],measurement_status:t.measurement_statuses[row[14]],timing_profile_status:t.timing_statuses[row[15]],binary_sha256:t.binary_hashes[row[16]]};
|
| 385 |
}
|
| 386 |
function applyCppLatestView() {
|
| 387 |
+
if(!cppLatestView||cppLatestView.schema!=='compressionbenchmark-cpp-latest-view-v1'||cppLatestView.status!=='built_from_verified_live_float9_baseline_and_completed_main26')throw new Error('The combined C++ selection sidecar has an invalid schema or status.');
|
| 388 |
const compact=snapshot.compact_records;if(!Array.isArray(compact))throw new Error('The SHA-bound compact record table is missing.');
|
| 389 |
if(cppLatestView.baseline?.compact_record_count!==compact.length)throw new Error('The combined C++ sidecar compact-record count does not match the frozen payload.');
|
| 390 |
if(cppLatestView.baseline?.data_sha256!==snapshot.source_data_sha256)throw new Error('The combined C++ sidecar source data hash does not match the frozen payload.');
|
|
|
|
| 463 |
void loadOperatorEffect();
|
| 464 |
void loadDatasetCatalog();
|
| 465 |
async function sha256Hex(buffer){const digest=await crypto.subtle.digest('SHA-256',buffer);return [...new Uint8Array(digest)].map(byte=>byte.toString(16).padStart(2,'0')).join('');}
|
| 466 |
+
async function gunzipBuffer(buffer,label){if(typeof DecompressionStream!=='function')throw new Error(`${label} requires browser gzip decompression support.`);try{return await new Response(new Blob([buffer]).stream().pipeThrough(new DecompressionStream('gzip'))).arrayBuffer();}catch(error){throw new Error(`${label} could not be decompressed: ${error instanceof Error?error.message:String(error)}`);}}
|
| 467 |
try {
|
| 468 |
+
const [snapshotResponse,sidecarResponse]=await Promise.all([fetch('./ui-data.json?v=20261015-main26-gzip-v4',{cache:'no-cache'}),fetch('./cpp-latest-view-main26.json.gz?v=20261015-main26-gzip-v4',{cache:'no-cache'})]);
|
| 469 |
if(!snapshotResponse.ok)throw new Error(`Snapshot request returned ${snapshotResponse.status}`);if(!sidecarResponse.ok)throw new Error(`Combined C++ sidecar request returned ${sidecarResponse.status}`);
|
| 470 |
+
const [snapshotBuffer,sidecarGzipBuffer]=await Promise.all([snapshotResponse.arrayBuffer(),sidecarResponse.arrayBuffer()]);
|
| 471 |
+
const sidecarGzipSha=await sha256Hex(sidecarGzipBuffer);if(sidecarGzipSha!==CPP_LATEST_VIEW_GZIP_SHA256)throw new Error('The compressed C++ sidecar transport does not match the frozen release.');
|
| 472 |
+
const sidecarBuffer=await gunzipBuffer(sidecarGzipBuffer,'The combined C++ sidecar');
|
| 473 |
const sidecarSha=await sha256Hex(sidecarBuffer);if(sidecarSha!==CPP_LATEST_VIEW_SHA256)throw new Error('The combined C++ sidecar does not match the independently reviewed release selection.');
|
| 474 |
const sidecarValue=JSON.parse(new TextDecoder().decode(sidecarBuffer));
|
| 475 |
const snapshotSha=await sha256Hex(snapshotBuffer);if(snapshotSha!==sidecarValue?.baseline?.ui_data_sha256)throw new Error('The combined C++ sidecar is not bound to this exact UI snapshot.');
|
build_main26_site.py
ADDED
|
@@ -0,0 +1,927 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Integrate the completed 26 x 135 server-192 campaign into the C++ latest view.
|
| 3 |
+
|
| 4 |
+
The published snapshot is append-only: historical result rows and every
|
| 5 |
+
non-target latest-view decision are preserved. The 3,510 target decisions are
|
| 6 |
+
replaced atomically. Overall metrics require complete valid-value support;
|
| 7 |
+
integer/float rows require complete support inside that exact dtype scope.
|
| 8 |
+
Partial and terminal conclusions never inherit an older numeric result.
|
| 9 |
+
"""
|
| 10 |
+
from __future__ import annotations
|
| 11 |
+
|
| 12 |
+
import argparse
|
| 13 |
+
import copy
|
| 14 |
+
import datetime as dt
|
| 15 |
+
import gzip
|
| 16 |
+
import hashlib
|
| 17 |
+
import importlib.util
|
| 18 |
+
import json
|
| 19 |
+
import math
|
| 20 |
+
import shutil
|
| 21 |
+
import statistics
|
| 22 |
+
import subprocess
|
| 23 |
+
import sys
|
| 24 |
+
from collections import Counter, defaultdict
|
| 25 |
+
from pathlib import Path
|
| 26 |
+
from typing import Any, Iterable
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
BASELINE_REVISION = "963f2ff216fd95ffba42d625a12765169eb4d850"
|
| 30 |
+
BASELINE_SHA256 = {
|
| 31 |
+
"data.json": "3c66633b2d58b126edfad8afe173caf1f53fbcdb6f7b205c3d51b42dfc75a241",
|
| 32 |
+
"ui-data.json": "c3c7103e47e0d61225839d9fd63f1b9d3757cf519a578c41ef9c81be46f3534d",
|
| 33 |
+
"cpp-latest-view.json": "564b8f7760a6336e93bd0d69601e74ada9819b361dc2464d768689af0d287cbd",
|
| 34 |
+
"manifest.json": "5d2d09c0f4f0f7b057fe3733e737b4b4dd9be06e4c524199167f30fe9c26c3ee",
|
| 35 |
+
"app.js": "bb92e7beda5f51bda2251e3b82ba324f38f9eed4b7b0e0edb35921d6d6c692f1",
|
| 36 |
+
"index.html": "2dac927226504d65ca4def06adb76154e737e29a16ae6ac7db64f478d78af5ce",
|
| 37 |
+
"ranking.js": "6e14543b42050ec7ad6a04948e8abd6f3589c477035708f9d01814d05a16c076",
|
| 38 |
+
"final-dataset-scope.json": "b56f9bd610e0bf63ab50d719ce70cf92ddc1b79e6b30fd2c6e2f707944b2ba72",
|
| 39 |
+
"final-input-status.json": "07aef0e1503fbc1cc3bed267ccb3d4e1f613a12c25fbf6166be97b5234cb0520",
|
| 40 |
+
}
|
| 41 |
+
METHODS = (
|
| 42 |
+
"ALP", "BUFF", "CORAD", "Camel", "Chimp", "Chimp128", "Elf", "Elf+",
|
| 43 |
+
"FPC", "FPCmp-R", "FPCmp-S", "FPZIP", "Gorilla", "PFPC", "Pongo",
|
| 44 |
+
"SPDP", "Sprintz", "2DIFF", "BOS", "DBP", "FastPFor", "LECO", "REGER",
|
| 45 |
+
"RLBE", "SVB", "Simple8b",
|
| 46 |
+
)
|
| 47 |
+
METHOD_SET = set(METHODS)
|
| 48 |
+
EXPECTED_PAIR_COUNT = 135 * len(METHODS)
|
| 49 |
+
PROFILE = "cpp-native192-main26-whole-column-20261015-v1"
|
| 50 |
+
VERSION = "20261015-main26-gzip-v4"
|
| 51 |
+
SIDECAR_STATUS = "built_from_verified_live_float9_baseline_and_completed_main26"
|
| 52 |
+
README_OLD = "`ranking.js`, the raw data, compact data, manifests and source selection evidence are unchanged."
|
| 53 |
+
README_NEW = (
|
| 54 |
+
"`ranking.js` is unchanged. The latest C++ view imports the completed server-192 main26 campaign "
|
| 55 |
+
"plus four exact-disjoint Camel recovery selections: 3,510 dataset-method conclusions across 135 "
|
| 56 |
+
"measured datasets (within the 137-dataset catalog and 85 active-family contract), comprising 1,529 "
|
| 57 |
+
"full-support, 629 partial-support and 1,352 unsupported conclusions and 4,037 numeric "
|
| 58 |
+
"Overall/integer/float scope rows. Compression and decompression timing uses the same-host W1/R3/T1 "
|
| 59 |
+
"contract; compression bytes are complete NGF1 frames per input block, and every measured `ok` frame "
|
| 60 |
+
"passed built-in bit-exact Block equality outside the timed interval. This does not claim independent "
|
| 61 |
+
"fresh-process verification. No cross-host timing is mixed in the new rows. Updated raw compact results, "
|
| 62 |
+
"the publication manifest and source-selection evidence are bound by the Main26 receipts. To keep the "
|
| 63 |
+
"append-only Space below its storage limit, the canonical full result snapshot and latest-view sidecar are "
|
| 64 |
+
"published as deterministic gzip transports; their compressed and decompressed SHA-256 values are frozen. "
|
| 65 |
+
"The earlier `data.json` and `cpp-latest-view.json` objects remain immutable historical artifacts; the latest "
|
| 66 |
+
"page reads `ui-data.json` and the SHA-verified `cpp-latest-view-main26.json.gz` sidecar, while its snapshot "
|
| 67 |
+
"download points to `data-main26.json.gz`."
|
| 68 |
+
)
|
| 69 |
+
DATA_GZIP = "data-main26.json.gz"
|
| 70 |
+
SIDECAR_GZIP = "cpp-latest-view-main26.json.gz"
|
| 71 |
+
GZIP_PACKAGER = "build_gzip_storage_recovery.py"
|
| 72 |
+
|
| 73 |
+
SOURCE_FILES = {
|
| 74 |
+
"COLUMN_RESULTS.jsonl.gz": "cpp135-main26-column-results.jsonl.gz",
|
| 75 |
+
"DATASET_METHOD_RESULTS.jsonl.gz": "cpp135-main26-dataset-method-results.jsonl.gz",
|
| 76 |
+
"selected_sources.json": "CPP135_MAIN26_SELECTED_SOURCES.json",
|
| 77 |
+
"RECEIPT.json": "CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 78 |
+
"SHA256SUMS": "CPP135_MAIN26_INPUT_SHA256SUMS.txt",
|
| 79 |
+
}
|
| 80 |
+
PUBLIC_ACCEPTANCE = "CPP135_MAIN26_SITE_ACCEPTANCE.json"
|
| 81 |
+
PUBLIC_INTEGRATION = "CPP135_MAIN26_SITE_INTEGRATION.json"
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def require(value: Any, message: str) -> None:
|
| 85 |
+
if not value:
|
| 86 |
+
raise ValueError(message)
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
def sha256(path: Path) -> str:
|
| 90 |
+
digest = hashlib.sha256()
|
| 91 |
+
with path.open("rb") as stream:
|
| 92 |
+
for block in iter(lambda: stream.read(8 << 20), b""):
|
| 93 |
+
digest.update(block)
|
| 94 |
+
return digest.hexdigest()
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
def deterministic_gzip(source: Path, target: Path) -> None:
|
| 98 |
+
with source.open("rb") as src, target.open("wb") as raw:
|
| 99 |
+
with gzip.GzipFile(filename="", mode="wb", fileobj=raw, compresslevel=9, mtime=0) as zipped:
|
| 100 |
+
shutil.copyfileobj(src, zipped, length=8 << 20)
|
| 101 |
+
|
| 102 |
+
|
| 103 |
+
def canonical(value: Any) -> bytes:
|
| 104 |
+
return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":"), allow_nan=False).encode()
|
| 105 |
+
|
| 106 |
+
|
| 107 |
+
def canonical_sha(value: Any) -> str:
|
| 108 |
+
return hashlib.sha256(canonical(value)).hexdigest()
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
def read_json(path: Path) -> dict[str, Any]:
|
| 112 |
+
value = json.loads(path.read_text())
|
| 113 |
+
require(isinstance(value, dict), f"expected JSON object: {path}")
|
| 114 |
+
return value
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
def read_gzip_jsonl(path: Path) -> list[dict[str, Any]]:
|
| 118 |
+
with gzip.open(path, "rt", encoding="utf-8") as stream:
|
| 119 |
+
rows = [json.loads(line) for line in stream if line.strip()]
|
| 120 |
+
require(all(isinstance(row, dict) for row in rows), f"non-object JSONL row: {path}")
|
| 121 |
+
return rows
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
def write_json(path: Path, value: Any) -> None:
|
| 125 |
+
path.write_text(json.dumps(value, ensure_ascii=False, indent=2, sort_keys=True, allow_nan=False) + "\n")
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
def parse_sha256sums(path: Path) -> dict[str, str]:
|
| 129 |
+
result: dict[str, str] = {}
|
| 130 |
+
for line in path.read_text().splitlines():
|
| 131 |
+
if not line.strip():
|
| 132 |
+
continue
|
| 133 |
+
digest, name = line.split(maxsplit=1)
|
| 134 |
+
name = name.lstrip("* ")
|
| 135 |
+
require(len(digest) == 64 and name not in result, f"invalid SHA256SUMS row: {line}")
|
| 136 |
+
result[name] = digest
|
| 137 |
+
return result
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
def finite_number(value: Any, *, nonnegative: bool = True) -> float:
|
| 141 |
+
require(type(value) in (int, float) and math.isfinite(float(value)), f"non-finite number: {value!r}")
|
| 142 |
+
number = float(value)
|
| 143 |
+
require(not nonnegative or number >= 0, f"negative number: {value!r}")
|
| 144 |
+
return number
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
def measured_datasets(baseline: Path) -> set[str]:
|
| 148 |
+
scope = read_json(baseline / "final-dataset-scope.json")
|
| 149 |
+
status = read_json(baseline / "final-input-status.json")
|
| 150 |
+
pending = {str(item["dataset_id"]) for item in status["pending_datasets"]}
|
| 151 |
+
result = {str(item) for item in scope["datasets"]} - pending
|
| 152 |
+
require(len(scope["datasets"]) == 137 and len(pending) == 2 and len(result) == 135, "published 137/135 dataset scope changed")
|
| 153 |
+
return result
|
| 154 |
+
|
| 155 |
+
|
| 156 |
+
def compact_rows(ui: dict[str, Any]) -> list[dict[str, Any]]:
|
| 157 |
+
tables = ui["record_tables"]
|
| 158 |
+
decoded = []
|
| 159 |
+
for index, row in enumerate(ui["compact_records"]):
|
| 160 |
+
decoded.append({
|
| 161 |
+
"raw_compact_index": index,
|
| 162 |
+
"dataset": tables["datasets"][row[0]],
|
| 163 |
+
"scope": tables["scopes"][row[1]],
|
| 164 |
+
"runtime": tables["runtimes"][row[2]],
|
| 165 |
+
"comparison_profile": tables["comparison_profiles"][row[3]],
|
| 166 |
+
"family": tables["families"][row[4]],
|
| 167 |
+
"algorithm_variant": tables["configurations"][row[5]],
|
| 168 |
+
"eligible_column_set_sha256": tables["support_sets"][row[13]],
|
| 169 |
+
"measurement_status": tables["measurement_statuses"][row[14]],
|
| 170 |
+
"timing_profile_status": tables["timing_statuses"][row[15]],
|
| 171 |
+
})
|
| 172 |
+
return decoded
|
| 173 |
+
|
| 174 |
+
|
| 175 |
+
def pair_status(row: dict[str, Any]) -> str:
|
| 176 |
+
status = str(row["support_state"])
|
| 177 |
+
require(status in {"full_numeric", "partial_support", "unsupported", "not_applicable"}, f"unknown support_state: {status}")
|
| 178 |
+
full = row.get("full_valid_support") is True
|
| 179 |
+
supported = int(row["supported_valid_value_count"])
|
| 180 |
+
unsupported = int(row["unsupported_valid_value_count"])
|
| 181 |
+
ratio = row.get("compression_ratio")
|
| 182 |
+
if status == "full_numeric":
|
| 183 |
+
require(full and supported > 0 and unsupported == 0 and ratio is not None, "invalid full_numeric pair")
|
| 184 |
+
return "numeric"
|
| 185 |
+
require(ratio is None, f"non-full pair exposes a publishable ratio: {status}")
|
| 186 |
+
if status == "partial_support":
|
| 187 |
+
require(supported > 0 and unsupported > 0, "invalid partial support pair")
|
| 188 |
+
return "partial_numeric"
|
| 189 |
+
if status == "unsupported":
|
| 190 |
+
require(supported == 0 and unsupported > 0, "invalid unsupported pair")
|
| 191 |
+
return "unsupported"
|
| 192 |
+
require(full and supported == 0 and unsupported == 0, "not_applicable pair has valid values or an invalid support flag")
|
| 193 |
+
return "not_applicable"
|
| 194 |
+
|
| 195 |
+
|
| 196 |
+
def single_string(row: dict[str, Any], field: str) -> str:
|
| 197 |
+
value = row[field]
|
| 198 |
+
values = [value] if isinstance(value, str) else list(value)
|
| 199 |
+
require(len(values) == 1 and isinstance(values[0], str) and values[0], f"{field} is not one exact value")
|
| 200 |
+
return values[0]
|
| 201 |
+
|
| 202 |
+
|
| 203 |
+
def string_set(row: dict[str, Any], field: str) -> list[str]:
|
| 204 |
+
value = row[field]
|
| 205 |
+
values = [value] if isinstance(value, str) else list(value)
|
| 206 |
+
require(values and all(isinstance(item, str) and item for item in values), f"{field} has an empty or non-string value")
|
| 207 |
+
require(len(values) == len(set(values)), f"{field} has duplicate values")
|
| 208 |
+
return sorted(values)
|
| 209 |
+
|
| 210 |
+
|
| 211 |
+
def dtype_scope(dtype: str) -> str:
|
| 212 |
+
normalized = dtype.lower()
|
| 213 |
+
if normalized.startswith(("int", "uint")):
|
| 214 |
+
return "integer"
|
| 215 |
+
if normalized.startswith("float"):
|
| 216 |
+
return "float"
|
| 217 |
+
raise ValueError(f"unsupported numeric dtype for website scope: {dtype}")
|
| 218 |
+
|
| 219 |
+
|
| 220 |
+
def build_support_sha(column_rows: list[dict[str, Any]], scope: str) -> str:
|
| 221 |
+
"""Hash only the algorithm-independent workload cohort used for ranking.
|
| 222 |
+
|
| 223 |
+
Runtime, method, terminal, configuration and wire-format identity belong to
|
| 224 |
+
``typed_route_contract_sha`` below. Keeping them out of this digest makes
|
| 225 |
+
two codecs comparable when they cover the exact same frozen typed columns.
|
| 226 |
+
"""
|
| 227 |
+
manifest_hashes = []
|
| 228 |
+
for row in column_rows:
|
| 229 |
+
dataset = str(row.get("dataset_id") or row.get("dataset"))
|
| 230 |
+
column = str(row.get("column_key") or row.get("column_id") or row.get("column"))
|
| 231 |
+
require(dataset and column and column != "None", "column row lacks exact workload identity")
|
| 232 |
+
digest = row.get("input_manifest_sha256")
|
| 233 |
+
require(isinstance(digest, str) and len(digest) == 64, f"input manifest SHA missing: {dataset}/{scope}/{column}")
|
| 234 |
+
manifest_hashes.append(digest)
|
| 235 |
+
# Each content-addressed manifest embeds column identity/dtype, block IDs,
|
| 236 |
+
# sequence/value/missing-bitmap SHAs and counts. Selecting the manifests
|
| 237 |
+
# for this scope supplies the scope separation without method provenance.
|
| 238 |
+
return canonical_sha(sorted(manifest_hashes))
|
| 239 |
+
|
| 240 |
+
|
| 241 |
+
def typed_route_contract_sha(column_rows: list[dict[str, Any]]) -> str:
|
| 242 |
+
digests = []
|
| 243 |
+
for row in column_rows:
|
| 244 |
+
digest = row.get("typed_route_contract_sha256")
|
| 245 |
+
require(isinstance(digest, str) and len(digest) == 64, "column typed-route contract SHA missing")
|
| 246 |
+
digests.append(digest)
|
| 247 |
+
return canonical_sha(sorted(digests))
|
| 248 |
+
|
| 249 |
+
|
| 250 |
+
def typed_route(column_rows: list[dict[str, Any]]) -> dict[str, Any]:
|
| 251 |
+
entries: dict[tuple[str, str, str], dict[str, Any]] = {}
|
| 252 |
+
binary_values = {str(row["runtime_binary_sha256"]) for row in column_rows}
|
| 253 |
+
require(len(binary_values) == 1, "typed route crosses runtime binaries")
|
| 254 |
+
for row in column_rows:
|
| 255 |
+
dtype = str(row["dtype"])
|
| 256 |
+
scope = dtype_scope(dtype)
|
| 257 |
+
configuration = single_string(row, "configurations")
|
| 258 |
+
profile = single_string(row, "profile_versions")
|
| 259 |
+
cli_values = string_set(row, "producer_cli_sha256") if row.get("producer_cli_sha256") else []
|
| 260 |
+
require(len(cli_values) <= 1, "one column uses multiple producer CLIs")
|
| 261 |
+
timing_scopes = string_set(row, "timing_scopes") if row.get("timing_scopes") else []
|
| 262 |
+
require(len(timing_scopes) <= 1, "one column has multiple measured timing scopes")
|
| 263 |
+
key = dtype, configuration, profile
|
| 264 |
+
entry = entries.setdefault(key, {
|
| 265 |
+
"dtype": dtype,
|
| 266 |
+
"dtype_scope": scope,
|
| 267 |
+
"configuration": configuration,
|
| 268 |
+
"profile_version": profile,
|
| 269 |
+
"producer_cli_sha256": set(),
|
| 270 |
+
"timing_scopes": set(),
|
| 271 |
+
"precision_semantics": set(),
|
| 272 |
+
"column_count": 0,
|
| 273 |
+
"precision_charge_rows": 0,
|
| 274 |
+
})
|
| 275 |
+
entry["producer_cli_sha256"].update(cli_values)
|
| 276 |
+
entry["timing_scopes"].update(timing_scopes)
|
| 277 |
+
entry["precision_semantics"].update(string_set(row, "precision_semantics") if row.get("precision_semantics") else [])
|
| 278 |
+
entry["column_count"] += 1
|
| 279 |
+
entry["precision_charge_rows"] += int(row.get("precision_charge_rows", 0))
|
| 280 |
+
routes = []
|
| 281 |
+
for entry in entries.values():
|
| 282 |
+
require(len(entry["producer_cli_sha256"]) <= 1, "one typed route uses multiple producer CLIs")
|
| 283 |
+
require(len(entry["timing_scopes"]) <= 1, "one typed route uses multiple measured timing scopes")
|
| 284 |
+
routes.append({
|
| 285 |
+
**entry,
|
| 286 |
+
"producer_cli_sha256": sorted(entry["producer_cli_sha256"]),
|
| 287 |
+
"timing_scopes": sorted(entry["timing_scopes"]),
|
| 288 |
+
"precision_semantics": sorted(entry["precision_semantics"]),
|
| 289 |
+
})
|
| 290 |
+
routes.sort(key=lambda item: (item["dtype_scope"], item["dtype"], item["configuration"], item["profile_version"]))
|
| 291 |
+
return {
|
| 292 |
+
"routes": routes,
|
| 293 |
+
"configurations": sorted({item["configuration"] for item in routes}),
|
| 294 |
+
"profile_versions": sorted({item["profile_version"] for item in routes}),
|
| 295 |
+
"producer_cli_sha256": sorted({value for item in routes for value in item["producer_cli_sha256"]}),
|
| 296 |
+
"runtime_binary_sha256": next(iter(binary_values)),
|
| 297 |
+
}
|
| 298 |
+
|
| 299 |
+
|
| 300 |
+
def scoped_summary(source: dict[str, Any], column_rows: list[dict[str, Any]], scope: str) -> dict[str, Any]:
|
| 301 |
+
require(scope in {"overall", "integer", "float"}, f"unknown dtype scope: {scope}")
|
| 302 |
+
selected = list(column_rows) if scope == "overall" else [row for row in column_rows if dtype_scope(str(row["dtype"])) == scope]
|
| 303 |
+
require(selected, f"cannot summarize absent scope: {source['dataset_id']}/{source['method']}/{scope}")
|
| 304 |
+
supported = sum(int(row["supported_valid_value_count"]) for row in selected)
|
| 305 |
+
unsupported = sum(int(row["unsupported_valid_value_count"]) for row in selected)
|
| 306 |
+
full_columns = [row for row in selected if row["support_state"] == "full_numeric"]
|
| 307 |
+
if supported and not unsupported:
|
| 308 |
+
status = "full_numeric"
|
| 309 |
+
elif supported and unsupported:
|
| 310 |
+
status = "partial_support"
|
| 311 |
+
elif unsupported:
|
| 312 |
+
status = "unsupported"
|
| 313 |
+
else:
|
| 314 |
+
status = "not_applicable"
|
| 315 |
+
numeric = status == "full_numeric"
|
| 316 |
+
original = sum(int(row["supported_original_numeric_bytes"]) for row in selected)
|
| 317 |
+
compressed = sum(int(row["measured_complete_frame_bytes"]) for row in selected)
|
| 318 |
+
ratios = [finite_number(row["compression_ratio"]) for row in full_columns]
|
| 319 |
+
cpps = [finite_number(row["compression_ns_per_valid_native_point"]) for row in full_columns]
|
| 320 |
+
dpps = [finite_number(row["decompression_ns_per_valid_native_point"]) for row in full_columns]
|
| 321 |
+
result = {
|
| 322 |
+
**{key: source[key] for key in ("dataset_id", "method", "family", "method_family", "selected_source", "runtime_binary_sha256", "selected_terminal_sha256")},
|
| 323 |
+
"scope": scope,
|
| 324 |
+
"support_state": status,
|
| 325 |
+
"full_valid_support": unsupported == 0,
|
| 326 |
+
"column_count": len(selected),
|
| 327 |
+
"full_numeric_columns": len(full_columns),
|
| 328 |
+
"partial_support_columns": sum(row["support_state"] == "partial_support" for row in selected),
|
| 329 |
+
"unsupported_columns": sum(row["support_state"] == "unsupported" for row in selected),
|
| 330 |
+
"not_applicable_columns": sum(row["support_state"] == "not_applicable" for row in selected),
|
| 331 |
+
"supported_valid_value_count": supported,
|
| 332 |
+
"unsupported_valid_value_count": unsupported,
|
| 333 |
+
"supported_original_numeric_bytes": original,
|
| 334 |
+
"unsupported_original_numeric_bytes": sum(int(row["unsupported_original_numeric_bytes"]) for row in selected),
|
| 335 |
+
"measured_complete_frame_bytes": compressed,
|
| 336 |
+
"all_missing_complete_frame_bytes": sum(int(row["all_missing_complete_frame_bytes"]) for row in selected),
|
| 337 |
+
"compression_ratio": statistics.fmean(ratios) if numeric and ratios else None,
|
| 338 |
+
"compression_ratio_column_arithmetic_mean": statistics.fmean(ratios) if numeric and ratios else None,
|
| 339 |
+
"secondary_pooled_compression_ratio": compressed / original if numeric and original else None,
|
| 340 |
+
"compression_ns_per_valid_native_point_column_arithmetic_mean": statistics.fmean(cpps) if numeric and cpps else None,
|
| 341 |
+
"decompression_ns_per_valid_native_point_column_arithmetic_mean": statistics.fmean(dpps) if numeric and dpps else None,
|
| 342 |
+
"profile_versions": sorted({item for row in selected for item in string_set(row, "profile_versions")}),
|
| 343 |
+
"configurations": sorted({item for row in selected for item in string_set(row, "configurations")}),
|
| 344 |
+
"producer_cli_sha256": sorted({item for row in selected for item in (string_set(row, "producer_cli_sha256") if row.get("producer_cli_sha256") else [])}),
|
| 345 |
+
"byte_boundary": "sum complete NGF1 frame bytes over selected dtype-scope columns / original valid numeric bytes",
|
| 346 |
+
"timing_contract": "arithmetic mean of per-column ns/valid-native-point; W1/R3/T1; built-in exact Block equality outside timed interval",
|
| 347 |
+
"typed_route": typed_route(selected),
|
| 348 |
+
}
|
| 349 |
+
result["support_sha256"] = build_support_sha(selected, scope)
|
| 350 |
+
result["typed_route_contract_sha256"] = typed_route_contract_sha(selected)
|
| 351 |
+
if scope == "overall":
|
| 352 |
+
for field in (
|
| 353 |
+
"support_state", "full_valid_support", "column_count", "full_numeric_columns", "partial_support_columns",
|
| 354 |
+
"unsupported_columns", "not_applicable_columns", "supported_valid_value_count", "unsupported_valid_value_count",
|
| 355 |
+
"supported_original_numeric_bytes", "unsupported_original_numeric_bytes", "measured_complete_frame_bytes",
|
| 356 |
+
"all_missing_complete_frame_bytes", "profile_versions", "configurations", "producer_cli_sha256",
|
| 357 |
+
):
|
| 358 |
+
require(result[field] == source[field], f"column-derived overall field differs: {source['dataset_id']}/{source['method']}/{field}")
|
| 359 |
+
for field in (
|
| 360 |
+
"compression_ratio_column_arithmetic_mean", "secondary_pooled_compression_ratio",
|
| 361 |
+
"compression_ns_per_valid_native_point_column_arithmetic_mean", "decompression_ns_per_valid_native_point_column_arithmetic_mean",
|
| 362 |
+
):
|
| 363 |
+
left, right = result[field], source[field]
|
| 364 |
+
require((left is None and right is None) or math.isclose(finite_number(left), finite_number(right), rel_tol=2e-12), f"column-derived overall metric differs: {source['dataset_id']}/{source['method']}/{field}")
|
| 365 |
+
return result
|
| 366 |
+
|
| 367 |
+
|
| 368 |
+
def validate_inputs(aggregate: Path, datasets: set[str]) -> tuple[list[dict[str, Any]], dict[tuple[str, str], dict[str, dict[str, Any]]], dict[str, Any], dict[str, str]]:
|
| 369 |
+
for source in SOURCE_FILES:
|
| 370 |
+
require((aggregate / source).is_file(), f"missing aggregate input: {source}")
|
| 371 |
+
sums = parse_sha256sums(aggregate / "SHA256SUMS")
|
| 372 |
+
for source in SOURCE_FILES:
|
| 373 |
+
if source == "SHA256SUMS":
|
| 374 |
+
continue
|
| 375 |
+
require(sums.get(source) == sha256(aggregate / source), f"aggregate SHA mismatch: {source}")
|
| 376 |
+
receipt = read_json(aggregate / "RECEIPT.json")
|
| 377 |
+
require(str(receipt.get("status", "")).startswith(("complete", "passed", "accepted")), "aggregate receipt is not terminal-complete")
|
| 378 |
+
require(receipt.get("schema") == "cpp135-main26-aggregate-receipt-v2", "aggregate receipt schema differs")
|
| 379 |
+
require(int(receipt.get("dataset_count", -1)) == 135 and int(receipt.get("method_count", -1)) == 26 and int(receipt.get("dataset_method_rows", -1)) == EXPECTED_PAIR_COUNT, "aggregate receipt scope differs")
|
| 380 |
+
receipt_files = receipt.get("files") or {}
|
| 381 |
+
for name in ("COLUMN_RESULTS.jsonl.gz", "DATASET_METHOD_RESULTS.jsonl.gz", "selected_sources.json"):
|
| 382 |
+
require((receipt_files.get(name) or {}).get("sha256") == sums[name], f"aggregate receipt file binding differs: {name}")
|
| 383 |
+
selected_sources = read_json(aggregate / "selected_sources.json")
|
| 384 |
+
rows = read_gzip_jsonl(aggregate / "DATASET_METHOD_RESULTS.jsonl.gz")
|
| 385 |
+
columns = read_gzip_jsonl(aggregate / "COLUMN_RESULTS.jsonl.gz")
|
| 386 |
+
require(len(rows) == EXPECTED_PAIR_COUNT, f"expected {EXPECTED_PAIR_COUNT} dataset-method rows")
|
| 387 |
+
identities = {(str(row["dataset_id"]), str(row["method"])) for row in rows}
|
| 388 |
+
require(len(identities) == EXPECTED_PAIR_COUNT, "duplicate dataset-method result")
|
| 389 |
+
require({dataset for dataset, _ in identities} == datasets, "aggregate dataset scope differs from published measured135")
|
| 390 |
+
require({method for _, method in identities} == METHOD_SET, "aggregate method scope differs from exact main26")
|
| 391 |
+
source_keys = selected_sources.get("keys")
|
| 392 |
+
require(selected_sources.get("schema") == "cpp135-main26-selected-sources-v1" and isinstance(source_keys, list) and len(source_keys) == EXPECTED_PAIR_COUNT, "selected source map differs")
|
| 393 |
+
source_by_pair = {(str(item["dataset_id"]), str(item["method"])): item for item in source_keys}
|
| 394 |
+
require(len(source_by_pair) == EXPECTED_PAIR_COUNT and set(source_by_pair) == identities, "selected source identity set differs")
|
| 395 |
+
|
| 396 |
+
grouped_columns: dict[tuple[str, str], list[dict[str, Any]]] = defaultdict(list)
|
| 397 |
+
for row in columns:
|
| 398 |
+
dataset = str(row.get("dataset_id") or row.get("dataset"))
|
| 399 |
+
method = str(row.get("method") or row.get("family"))
|
| 400 |
+
require((dataset, method) in identities, f"out-of-scope column result: {dataset}/{method}")
|
| 401 |
+
grouped_columns[dataset, method].append(row)
|
| 402 |
+
scoped: dict[tuple[str, str], dict[str, dict[str, Any]]] = {}
|
| 403 |
+
for row in rows:
|
| 404 |
+
key = str(row["dataset_id"]), str(row["method"])
|
| 405 |
+
require(str(row.get("family") or row["method"]) == key[1], f"family alias differs: {key}")
|
| 406 |
+
require(str(row["method_family"]) in {"native17_original_dtype", "scaled9_decimal_int64_v1"}, f"method_family differs: {key}")
|
| 407 |
+
require(len(grouped_columns[key]) == int(row["column_count"]), f"column count differs: {key}")
|
| 408 |
+
pair_status(row)
|
| 409 |
+
require(int(row["ok_blocks"]) + int(row["not_applicable_blocks"]) + int(row["unsupported_blocks"]) == int(row["block_rows"]), f"block terminal count differs: {key}")
|
| 410 |
+
require(int(row["full_numeric_columns"]) + int(row["partial_support_columns"]) + int(row["unsupported_columns"]) + int(row["not_applicable_columns"]) == int(row["column_count"]), f"column terminal count differs: {key}")
|
| 411 |
+
require(int(row["measured_complete_frame_bytes"]) >= int(row["all_missing_complete_frame_bytes"]) >= 0, f"N/A frame bytes differ: {key}")
|
| 412 |
+
producer_cli = string_set(row, "producer_cli_sha256") if row.get("producer_cli_sha256") else []
|
| 413 |
+
require(len(producer_cli) <= 1 and all(len(value) == 64 for value in producer_cli) and len(str(row["runtime_binary_sha256"])) == 64, f"runtime binding missing: {key}")
|
| 414 |
+
selected = source_by_pair[key]
|
| 415 |
+
require(selected.get("source_label") == row["selected_source"], f"selected source label differs: {key}")
|
| 416 |
+
require(selected.get("binary_sha256") == row["runtime_binary_sha256"], f"selected binary differs: {key}")
|
| 417 |
+
require(selected.get("terminal_sha256") == row["selected_terminal_sha256"], f"selected terminal differs: {key}")
|
| 418 |
+
pair_columns = grouped_columns[key]
|
| 419 |
+
for column in pair_columns:
|
| 420 |
+
require(column.get("schema") == "cpp135-main26-column-v1", f"column schema differs: {key}")
|
| 421 |
+
require(column["runtime_binary_sha256"] == row["runtime_binary_sha256"], f"column binary differs: {key}")
|
| 422 |
+
require(column["selected_terminal_sha256"] == row["selected_terminal_sha256"], f"column terminal differs: {key}")
|
| 423 |
+
require(column["selected_source"] == row["selected_source"], f"column selected source differs: {key}")
|
| 424 |
+
require(column["timing_contract"] == "W1/R3/T1; median of three aligned block sums; built-in exact Block equality outside timed interval", f"column timing contract differs: {key}")
|
| 425 |
+
require(column["byte_boundary"] == "sum complete NGF1 frame bytes per measured input block / original valid numeric bytes", f"column byte boundary differs: {key}")
|
| 426 |
+
column_cli = string_set(column, "producer_cli_sha256") if column.get("producer_cli_sha256") else []
|
| 427 |
+
require(len(column_cli) <= 1 and all(len(value) == 64 for value in column_cli), f"column producer CLI differs: {key}")
|
| 428 |
+
single_string(column, "profile_versions")
|
| 429 |
+
single_string(column, "configurations")
|
| 430 |
+
timing_scopes = string_set(column, "timing_scopes") if column.get("timing_scopes") else []
|
| 431 |
+
require(len(timing_scopes) <= 1, f"column has multiple measured timing scopes: {key}")
|
| 432 |
+
require(isinstance(column.get("input_manifest_sha256"), str) and len(column["input_manifest_sha256"]) == 64, f"column input-manifest SHA missing: {key}")
|
| 433 |
+
pair_status(column)
|
| 434 |
+
require(int(column.get("precision_charge_rows", 0)) <= 1, f"column precision derivation charged more than once: {key}")
|
| 435 |
+
if row["method_family"] == "scaled9_decimal_int64_v1" and dtype_scope(str(column["dtype"])) == "float" and int(column["supported_valid_value_count"]) > 0:
|
| 436 |
+
require(int(column.get("precision_charge_rows", 0)) == 1 and column.get("precision_semantics"), f"scaled float column omits its one-time precision cost: {key}")
|
| 437 |
+
require(string_set(row, "profile_versions") == sorted({item for column in pair_columns for item in string_set(column, "profile_versions")}), f"dataset profile composition differs: {key}")
|
| 438 |
+
require(string_set(row, "configurations") == sorted({item for column in pair_columns for item in string_set(column, "configurations")}), f"dataset configuration composition differs: {key}")
|
| 439 |
+
require(
|
| 440 |
+
(string_set(row, "producer_cli_sha256") if row.get("producer_cli_sha256") else [])
|
| 441 |
+
== sorted({item for column in pair_columns for item in (string_set(column, "producer_cli_sha256") if column.get("producer_cli_sha256") else [])}),
|
| 442 |
+
f"dataset CLI composition differs: {key}",
|
| 443 |
+
)
|
| 444 |
+
scoped[key] = {"overall": scoped_summary(row, pair_columns, "overall")}
|
| 445 |
+
if row["support_state"] == "full_numeric":
|
| 446 |
+
require(scoped[key]["overall"]["support_sha256"] == row["eligible_support_sha256"], f"aggregate eligible support SHA differs: {key}")
|
| 447 |
+
require(scoped[key]["overall"]["typed_route_contract_sha256"] == row["typed_route_contract_sha256"], f"aggregate typed-route contract SHA differs: {key}")
|
| 448 |
+
for scope in ("integer", "float"):
|
| 449 |
+
if any(dtype_scope(str(column["dtype"])) == scope for column in pair_columns):
|
| 450 |
+
scoped[key][scope] = scoped_summary(row, pair_columns, scope)
|
| 451 |
+
if row["support_state"] == "full_numeric":
|
| 452 |
+
original = int(row["supported_original_numeric_bytes"])
|
| 453 |
+
compressed = int(row["measured_complete_frame_bytes"])
|
| 454 |
+
require(original > 0 and compressed > 0, f"full pair has empty bytes: {key}")
|
| 455 |
+
pooled = compressed / original
|
| 456 |
+
require(math.isclose(finite_number(row["secondary_pooled_compression_ratio"]), pooled, rel_tol=2e-12), f"pooled ratio differs: {key}")
|
| 457 |
+
finite_number(row["compression_ratio_column_arithmetic_mean"])
|
| 458 |
+
finite_number(row["compression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 459 |
+
finite_number(row["decompression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 460 |
+
require(dict(sorted(Counter(str(row["support_state"]) for row in rows).items())) == dict(sorted((receipt.get("dataset_method_support_counts") or {}).items())), "aggregate support counts differ from receipt")
|
| 461 |
+
return rows, scoped, receipt, {name: sums[name] for name in SOURCE_FILES if name != "SHA256SUMS"}
|
| 462 |
+
|
| 463 |
+
|
| 464 |
+
def composite_route_label(route: dict[str, Any], field: str) -> str:
|
| 465 |
+
values = route[field]
|
| 466 |
+
require(values, f"typed route has no {field}")
|
| 467 |
+
if len(values) == 1:
|
| 468 |
+
return values[0]
|
| 469 |
+
value_field = "configuration" if field == "configurations" else "profile_version"
|
| 470 |
+
components = [f"{item['dtype']}={item[value_field]}" for item in route["routes"]]
|
| 471 |
+
return "typed-route[" + ";".join(components) + "]"
|
| 472 |
+
|
| 473 |
+
|
| 474 |
+
def make_site_row(source: dict[str, Any], acceptance_sha: str) -> dict[str, Any]:
|
| 475 |
+
require(pair_status(source) == "numeric", "cannot construct numeric site row from a non-full pair")
|
| 476 |
+
dataset, method = str(source["dataset_id"]), str(source["method"])
|
| 477 |
+
binary = str(source["runtime_binary_sha256"])
|
| 478 |
+
route = source["typed_route"]
|
| 479 |
+
configuration = composite_route_label(route, "configurations")
|
| 480 |
+
profile_version = composite_route_label(route, "profile_versions")
|
| 481 |
+
original = int(source["supported_original_numeric_bytes"])
|
| 482 |
+
compressed = int(source["measured_complete_frame_bytes"])
|
| 483 |
+
points = int(source["supported_valid_value_count"])
|
| 484 |
+
compression_pp = finite_number(source["compression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 485 |
+
decompression_pp = finite_number(source["decompression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 486 |
+
return {
|
| 487 |
+
"schema": "compressionbenchmark-cpp135-main26-site-row-v1",
|
| 488 |
+
"dataset": dataset,
|
| 489 |
+
"scope": source["scope"],
|
| 490 |
+
"runtime": f"cpp-native192-main26-{binary[:8]}",
|
| 491 |
+
"comparison_profile": PROFILE,
|
| 492 |
+
"method": configuration,
|
| 493 |
+
"family": method,
|
| 494 |
+
"algorithm_variant": f"{configuration} [{binary[:8]}]",
|
| 495 |
+
"is_best_rate_in_family": True,
|
| 496 |
+
"original_size_bytes": original,
|
| 497 |
+
"compressed_size_bytes": compressed,
|
| 498 |
+
"point_count": points,
|
| 499 |
+
"compression_rate": compressed / original,
|
| 500 |
+
"compression_time_ns": compression_pp * points,
|
| 501 |
+
"decompression_time_ns": decompression_pp * points,
|
| 502 |
+
"compression_time_ns_per_point": compression_pp,
|
| 503 |
+
"decompression_time_ns_per_point": decompression_pp,
|
| 504 |
+
"timing_column_count": int(source["full_numeric_columns"]),
|
| 505 |
+
"timing_aggregation": "column_mean",
|
| 506 |
+
"eligible_dtype_scope": source["scope"],
|
| 507 |
+
"eligible_column_set_sha256": source["support_sha256"],
|
| 508 |
+
"eligible_column_set_status": "algorithm_independent_frozen_manifest_scope_cohort_sha256",
|
| 509 |
+
"measurement_status": "main26_complete_valid_support_builtin_bitexact_roundtrip",
|
| 510 |
+
"timing_profile_status": "timing_admitted_server192_main26_w1_r3_t1_column_mean_builtin_bitexact",
|
| 511 |
+
"execution_host": "192.168.99.20",
|
| 512 |
+
"binary_sha256": binary,
|
| 513 |
+
"producer_cli_sha256": source["producer_cli_sha256"][0] if len(source["producer_cli_sha256"]) == 1 else None,
|
| 514 |
+
"producer_cli_sha256_set": source["producer_cli_sha256"],
|
| 515 |
+
"profile_version": profile_version,
|
| 516 |
+
"typed_route": route["routes"],
|
| 517 |
+
"typed_route_configurations": route["configurations"],
|
| 518 |
+
"source_profile_composition": route["profile_versions"],
|
| 519 |
+
"typed_route_contract_sha256": source["typed_route_contract_sha256"],
|
| 520 |
+
"input_version": "final135-frozen-inputs-20261014-v1",
|
| 521 |
+
"acceptance_sha256": acceptance_sha,
|
| 522 |
+
"source_selection": source["selected_source"],
|
| 523 |
+
"selected_terminal_sha256": source["selected_terminal_sha256"],
|
| 524 |
+
"method_family": source["method_family"],
|
| 525 |
+
"byte_boundary": source["byte_boundary"],
|
| 526 |
+
"timing_contract": source["timing_contract"],
|
| 527 |
+
"column_arithmetic_mean_compression_rate": finite_number(source["compression_ratio_column_arithmetic_mean"]),
|
| 528 |
+
"all_missing_complete_frame_bytes": int(source["all_missing_complete_frame_bytes"]),
|
| 529 |
+
}
|
| 530 |
+
|
| 531 |
+
|
| 532 |
+
def replace_latest_view(
|
| 533 |
+
old_sidecar: dict[str, Any], old_ui: dict[str, Any], new_ui: dict[str, Any],
|
| 534 |
+
source_rows: list[dict[str, Any]], scoped_rows: dict[tuple[str, str], dict[str, dict[str, Any]]],
|
| 535 |
+
additions: list[dict[str, Any]], acceptance_sha: str,
|
| 536 |
+
data_sha: str, ui_sha: str,
|
| 537 |
+
) -> dict[str, Any]:
|
| 538 |
+
old_decoded, new_decoded = compact_rows(old_ui), compact_rows(new_ui)
|
| 539 |
+
old_count = len(old_decoded)
|
| 540 |
+
targets = {(str(row["dataset_id"]), str(row["method"])) for row in source_rows}
|
| 541 |
+
status_by_pair = {(str(row["dataset_id"]), str(row["method"])): pair_status(row) for row in source_rows}
|
| 542 |
+
require(len(targets) == EXPECTED_PAIR_COUNT, "latest-view target count differs")
|
| 543 |
+
retained = []
|
| 544 |
+
for item in old_sidecar["cpp"]["selected_rows"]:
|
| 545 |
+
decoded = old_decoded[item["raw_compact_index"]]
|
| 546 |
+
if (decoded["dataset"], item["canonical_family"]) not in targets:
|
| 547 |
+
retained.append(copy.deepcopy(item))
|
| 548 |
+
|
| 549 |
+
addition_by_scope = {(row["dataset"], row["family"], row["scope"]): index for index, row in enumerate(additions, start=old_count)}
|
| 550 |
+
require(len(addition_by_scope) == len(additions), "duplicate appended site row")
|
| 551 |
+
for scoped_pair, index in sorted(addition_by_scope.items()):
|
| 552 |
+
decoded = new_decoded[index]
|
| 553 |
+
pair = scoped_pair[:2]
|
| 554 |
+
require(decoded["dataset"] == pair[0] and decoded["family"] == pair[1] and decoded["scope"] == scoped_pair[2], f"appended compact row differs: {scoped_pair}")
|
| 555 |
+
retained.append({
|
| 556 |
+
"raw_compact_index": index,
|
| 557 |
+
"canonical_family": pair[1],
|
| 558 |
+
"source_family": pair[1],
|
| 559 |
+
"source_comparison_profile": PROFILE,
|
| 560 |
+
"source_runtime": decoded["runtime"],
|
| 561 |
+
"source_host": "192.168.99.20",
|
| 562 |
+
"authority": "cpp135_main26_server192_latest",
|
| 563 |
+
"pair_status": status_by_pair[pair],
|
| 564 |
+
"timing_admitted": True,
|
| 565 |
+
"measurement_status": decoded["measurement_status"],
|
| 566 |
+
"timing_profile_status": decoded["timing_profile_status"],
|
| 567 |
+
})
|
| 568 |
+
|
| 569 |
+
ledger = [copy.deepcopy(item) for item in old_sidecar["cpp"]["pair_ledger"] if (item["dataset"], item["canonical_family"]) not in targets]
|
| 570 |
+
source_by_pair = {(str(row["dataset_id"]), str(row["method"])): row for row in source_rows}
|
| 571 |
+
all_scopes = set(new_ui["record_tables"]["scopes"])
|
| 572 |
+
for pair in sorted(targets):
|
| 573 |
+
status = status_by_pair[pair]
|
| 574 |
+
selected = [index for (dataset, family, _), index in sorted(addition_by_scope.items()) if (dataset, family) == pair]
|
| 575 |
+
selected_scopes = sorted(scope for (dataset, family, scope) in addition_by_scope if (dataset, family) == pair)
|
| 576 |
+
if status == "numeric":
|
| 577 |
+
require("overall" in selected_scopes, f"full pair lacks Overall row: {pair}")
|
| 578 |
+
elif status == "partial_numeric":
|
| 579 |
+
require("overall" not in selected_scopes, f"partial pair exposes an Overall metric: {pair}")
|
| 580 |
+
else:
|
| 581 |
+
require(not selected, f"terminal pair exposes numeric scope: {pair}")
|
| 582 |
+
source = source_by_pair[pair]
|
| 583 |
+
ledger.append({
|
| 584 |
+
"dataset": pair[0],
|
| 585 |
+
"canonical_family": pair[1],
|
| 586 |
+
"decision": "select_latest_main26_dtype_scopes" if selected else "terminal_tombstone_latest_main26",
|
| 587 |
+
"status": status,
|
| 588 |
+
"source_comparison_profile": PROFILE,
|
| 589 |
+
"source_hosts": ["192.168.99.20"],
|
| 590 |
+
"selected_raw_indices": selected,
|
| 591 |
+
"selected_scopes": selected_scopes,
|
| 592 |
+
"missing_scopes_tombstoned": sorted(all_scopes - set(selected_scopes)),
|
| 593 |
+
"recency_rank": 60,
|
| 594 |
+
"authority": "cpp135_main26_server192_latest",
|
| 595 |
+
"reason": {
|
| 596 |
+
"numeric": "Completed server-192 column measurements support every valid value; exact Overall and available dtype-scope rows use pooled bytes and same-contract W1/R3/T1 column-mean timing.",
|
| 597 |
+
"partial_numeric": "Latest server-192 run supports only part of the valid workload; any completely supported dtype scope is selected, Overall is tombstoned, and no old numeric fallback is used.",
|
| 598 |
+
"unsupported": "Latest server-192 whole-column run has no supported valid-value column; older numeric rows are tombstoned.",
|
| 599 |
+
"not_applicable": "Latest server-192 whole-column run contains no valid numeric value for this method/dataset pair; older numeric rows are tombstoned.",
|
| 600 |
+
}[status],
|
| 601 |
+
"acceptance_sha256": acceptance_sha,
|
| 602 |
+
"source_selection": source["selected_source"],
|
| 603 |
+
"runtime_binary_sha256": source["runtime_binary_sha256"],
|
| 604 |
+
"scope_support_states": {scope: pair_status(summary) for scope, summary in sorted(scoped_rows[pair].items())},
|
| 605 |
+
})
|
| 606 |
+
|
| 607 |
+
retained.sort(key=lambda item: item["raw_compact_index"])
|
| 608 |
+
ledger.sort(key=lambda item: (item["dataset"], item["canonical_family"]))
|
| 609 |
+
by_index = {item["raw_compact_index"]: item for item in retained}
|
| 610 |
+
require(len(by_index) == len(retained), "duplicate selected compact index")
|
| 611 |
+
active = set(old_sidecar["cpp"]["active_native85_families"])
|
| 612 |
+
active_ledger = [item for item in ledger if item["canonical_family"] in active]
|
| 613 |
+
require(len(active_ledger) == 164 * 85, "active85 pair ledger changed size")
|
| 614 |
+
status_counts = Counter(item["status"] for item in active_ledger)
|
| 615 |
+
scope_dataset_counts: dict[str, int] = {}
|
| 616 |
+
scope_pair_counts: dict[str, int] = {}
|
| 617 |
+
for scope in sorted(all_scopes):
|
| 618 |
+
selected_for_scope = []
|
| 619 |
+
for item in retained:
|
| 620 |
+
decoded = new_decoded[item["raw_compact_index"]]
|
| 621 |
+
if decoded["scope"] == scope:
|
| 622 |
+
selected_for_scope.append((decoded["dataset"], item["canonical_family"]))
|
| 623 |
+
scope_dataset_counts[scope] = len({dataset for dataset, _ in selected_for_scope})
|
| 624 |
+
scope_pair_counts[scope] = len(set(selected_for_scope))
|
| 625 |
+
timing_indices = [item["raw_compact_index"] for item in retained if item["timing_admitted"]]
|
| 626 |
+
|
| 627 |
+
sidecar = copy.deepcopy(old_sidecar)
|
| 628 |
+
sidecar["status"] = SIDECAR_STATUS
|
| 629 |
+
sidecar["baseline"] = {
|
| 630 |
+
"revision": BASELINE_REVISION,
|
| 631 |
+
"ui_data_path": "ui-data.json", "ui_data_sha256": ui_sha,
|
| 632 |
+
"data_path": "data.json", "data_sha256": data_sha,
|
| 633 |
+
"compact_record_count": len(new_decoded),
|
| 634 |
+
"parent_published_payload": {
|
| 635 |
+
"data_sha256": BASELINE_SHA256["data.json"],
|
| 636 |
+
"ui_data_sha256": BASELINE_SHA256["ui-data.json"],
|
| 637 |
+
"cpp_latest_view_sha256": BASELINE_SHA256["cpp-latest-view.json"],
|
| 638 |
+
},
|
| 639 |
+
}
|
| 640 |
+
sidecar["identity_contract"]["atomicity"] = "One newest authority wins per dataset and canonical C++ family. Main26 replaces all older selected scopes for its exact 135 x 26 pair universe; Overall requires whole-pair support while fully supported integer/float scopes remain independently visible."
|
| 641 |
+
sidecar["precedence"].append({
|
| 642 |
+
"rank": 60,
|
| 643 |
+
"authority": "cpp135_main26_server192_latest",
|
| 644 |
+
"scope": "135 measured datasets x 26 C++ families; exact Overall/integer/float support decisions from one column campaign",
|
| 645 |
+
})
|
| 646 |
+
sidecar["receipts"][PUBLIC_ACCEPTANCE] = {
|
| 647 |
+
"path": PUBLIC_ACCEPTANCE, "sha256": acceptance_sha,
|
| 648 |
+
"schema": "compressionbenchmark-cpp135-main26-site-acceptance-v1", "status": "accepted_completed_builtin_bitexact",
|
| 649 |
+
}
|
| 650 |
+
sidecar["cpp"]["selected_rows"] = retained
|
| 651 |
+
sidecar["cpp"]["pair_ledger"] = ledger
|
| 652 |
+
counts = sidecar["cpp"]["counts"]
|
| 653 |
+
counts.update({
|
| 654 |
+
"active_native85_pair_conclusions": len(active_ledger),
|
| 655 |
+
"active_native85_pair_status": dict(sorted(status_counts.items())),
|
| 656 |
+
"active_native85_numeric_pairs": status_counts["numeric"],
|
| 657 |
+
"active_native85_partial_numeric_pairs": status_counts["partial_numeric"],
|
| 658 |
+
"active_native85_measured_numeric_pairs": status_counts["numeric"] + status_counts["partial_numeric"],
|
| 659 |
+
"active_native85_terminal_tombstone_pairs": status_counts["not_applicable"] + status_counts["unsupported"],
|
| 660 |
+
"selected_compact_row_count": len(retained),
|
| 661 |
+
"timing_admitted_selected_row_count": len(timing_indices),
|
| 662 |
+
"scope_numeric_dataset_counts": scope_dataset_counts,
|
| 663 |
+
"scope_numeric_pair_counts": scope_pair_counts,
|
| 664 |
+
"main26_dataset_count": 135,
|
| 665 |
+
"main26_method_count": 26,
|
| 666 |
+
"main26_pair_count": EXPECTED_PAIR_COUNT,
|
| 667 |
+
"main26_pair_status": dict(sorted(Counter(status_by_pair.values()).items())),
|
| 668 |
+
})
|
| 669 |
+
sidecar["cpp"]["timing_subset"] = {
|
| 670 |
+
"contract": "Only row-local admitted timing is selected. Main26 numeric rows share the server-192 W1/R3/T1 whole-column contract and include built-in bit-exact decode checks; no independent fresh-process claim is made.",
|
| 671 |
+
"selected_raw_indices": timing_indices,
|
| 672 |
+
"selected_row_count": len(timing_indices),
|
| 673 |
+
"source_profile_counts": dict(sorted(Counter(new_decoded[item["raw_compact_index"]]["comparison_profile"] for item in retained if item["timing_admitted"]).items())),
|
| 674 |
+
}
|
| 675 |
+
sidecar["warnings"].append("Main26 publishes Overall only when every valid value is supported. A partial whole pair may retain an exact fully supported integer or float view; absent scopes are tombstoned and never fall back to old numbers.")
|
| 676 |
+
sidecar["warnings"].append("Main26 timing is W1/R3/T1 on server 192 with built-in bit-exact decode checks. It is not described as independent fresh-process verification.")
|
| 677 |
+
return sidecar
|
| 678 |
+
|
| 679 |
+
|
| 680 |
+
def main() -> None:
|
| 681 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 682 |
+
parser.add_argument("--baseline", type=Path, required=True)
|
| 683 |
+
parser.add_argument("--aggregate", type=Path, required=True)
|
| 684 |
+
parser.add_argument("--expected-receipt-sha256", required=True)
|
| 685 |
+
parser.add_argument("--output", type=Path, required=True)
|
| 686 |
+
args = parser.parse_args()
|
| 687 |
+
baseline, aggregate, output = args.baseline.resolve(), args.aggregate.resolve(), args.output.resolve()
|
| 688 |
+
require(not output.exists(), "candidate exists; preserve it and choose a new output")
|
| 689 |
+
require(len(args.expected_receipt_sha256) == 64 and sha256(aggregate / "RECEIPT.json") == args.expected_receipt_sha256, "aggregate receipt SHA differs")
|
| 690 |
+
for name, digest in BASELINE_SHA256.items():
|
| 691 |
+
require((baseline / name).is_file() and sha256(baseline / name) == digest, f"immutable published baseline differs: {name}")
|
| 692 |
+
baseline_verified = baseline.parent / "BASELINE_VERIFIED.json"
|
| 693 |
+
baseline_receipt = read_json(baseline_verified) if baseline_verified.is_file() else {}
|
| 694 |
+
require(
|
| 695 |
+
baseline_receipt.get("status") == "verified"
|
| 696 |
+
and baseline_receipt.get("revision") == BASELINE_REVISION
|
| 697 |
+
and int(baseline_receipt.get("file_count", -1)) == 60,
|
| 698 |
+
"exact 60-file immutable baseline verification receipt missing",
|
| 699 |
+
)
|
| 700 |
+
datasets = measured_datasets(baseline)
|
| 701 |
+
source_rows, scoped_rows, aggregate_receipt, input_hashes = validate_inputs(aggregate, datasets)
|
| 702 |
+
|
| 703 |
+
shutil.copytree(baseline, output)
|
| 704 |
+
for source, public in SOURCE_FILES.items():
|
| 705 |
+
shutil.copy2(aggregate / source, output / public)
|
| 706 |
+
readme_path = output / "README.md"
|
| 707 |
+
readme = readme_path.read_text()
|
| 708 |
+
require(readme.count(README_OLD) == 1, "published README Main26 documentation anchor differs")
|
| 709 |
+
readme_path.write_text(readme.replace(README_OLD, README_NEW))
|
| 710 |
+
|
| 711 |
+
status_counts = Counter(pair_status(row) for row in source_rows)
|
| 712 |
+
scoped_status_counts = {
|
| 713 |
+
scope: dict(sorted(Counter(pair_status(by_scope[scope]) for by_scope in scoped_rows.values() if scope in by_scope).items()))
|
| 714 |
+
for scope in ("overall", "integer", "float")
|
| 715 |
+
}
|
| 716 |
+
acceptance = {
|
| 717 |
+
"schema": "compressionbenchmark-cpp135-main26-site-acceptance-v1",
|
| 718 |
+
"status": "accepted_completed_builtin_bitexact",
|
| 719 |
+
"created_at": dt.datetime.now(dt.timezone.utc).isoformat(),
|
| 720 |
+
"scope": {"dataset_count": 135, "method_count": 26, "pair_count": EXPECTED_PAIR_COUNT, "method_ids": list(METHODS)},
|
| 721 |
+
"pair_status_counts": dict(sorted(status_counts.items())),
|
| 722 |
+
"dtype_scope_status_counts": scoped_status_counts,
|
| 723 |
+
"admission": {
|
| 724 |
+
"rate_bytes": "published only for a full_numeric Overall/integer/float scope as complete NGF1 frame bytes divided by original valid numeric bytes in that exact scope",
|
| 725 |
+
"timing": "published only for a full_numeric scope under one server-192 W1/R3/T1 column contract as equal-column arithmetic mean of ns per valid native-width point",
|
| 726 |
+
"lossless": "built-in bit-exact decode checks cover measured frames; no independent fresh-process verification claim",
|
| 727 |
+
"partial_and_terminal": "partial Overall never receives a numeric row; a completely supported dtype scope may remain numeric, while every absent scope has no old fallback",
|
| 728 |
+
"all_missing_frames": "all_missing_complete_frame_bytes is a subset of measured_complete_frame_bytes and is never added twice",
|
| 729 |
+
},
|
| 730 |
+
"aggregate_receipt": {"file": SOURCE_FILES["RECEIPT.json"], "sha256": sha256(aggregate / "RECEIPT.json"), "schema": aggregate_receipt.get("schema"), "status": aggregate_receipt.get("status")},
|
| 731 |
+
"inputs": {SOURCE_FILES[name]: {"sha256": digest, "bytes": (aggregate / name).stat().st_size} for name, digest in input_hashes.items()},
|
| 732 |
+
}
|
| 733 |
+
acceptance_path = output / PUBLIC_ACCEPTANCE
|
| 734 |
+
write_json(acceptance_path, acceptance)
|
| 735 |
+
acceptance_sha = sha256(acceptance_path)
|
| 736 |
+
|
| 737 |
+
old_data = read_json(baseline / "data.json")
|
| 738 |
+
old_ui = read_json(baseline / "ui-data.json")
|
| 739 |
+
old_sidecar = read_json(baseline / "cpp-latest-view.json")
|
| 740 |
+
old_rows_sha = canonical_sha(old_data["dataset_results"])
|
| 741 |
+
old_count = len(old_data["dataset_results"])
|
| 742 |
+
require(not any(row.get("comparison_profile") == PROFILE for row in old_data["dataset_results"]), "main26 profile already integrated")
|
| 743 |
+
additions = [
|
| 744 |
+
make_site_row(summary, acceptance_sha)
|
| 745 |
+
for pair in sorted(scoped_rows)
|
| 746 |
+
for scope, summary in sorted(scoped_rows[pair].items())
|
| 747 |
+
if pair_status(summary) == "numeric"
|
| 748 |
+
]
|
| 749 |
+
additions.sort(key=lambda row: (row["dataset"], row["family"], row["scope"]))
|
| 750 |
+
data = copy.deepcopy(old_data)
|
| 751 |
+
data["dataset_results"].extend(additions)
|
| 752 |
+
require(canonical_sha(data["dataset_results"][:old_count]) == old_rows_sha, "historical dataset result rows changed")
|
| 753 |
+
|
| 754 |
+
helper_path = output / "build_accepted_completion_v7.py"
|
| 755 |
+
spec = importlib.util.spec_from_file_location("main26_recompute", helper_path)
|
| 756 |
+
helper = importlib.util.module_from_spec(spec)
|
| 757 |
+
require(spec.loader is not None, "cannot load aggregate helper")
|
| 758 |
+
spec.loader.exec_module(helper)
|
| 759 |
+
helper.recompute(data)
|
| 760 |
+
helper.update_methods(data, additions)
|
| 761 |
+
exact_runtimes = sorted({row["runtime"] for row in additions})
|
| 762 |
+
data["benchmark"].setdefault("runtime_labels", {})[PROFILE] = "Native C++ · 192 · main26 whole-column W1/R3/T1"
|
| 763 |
+
data["benchmark"].setdefault("runtime_hosts", {})[PROFILE] = "192.168.99.20"
|
| 764 |
+
data["benchmark"]["implementation_runtimes"] = sorted({row["comparison_profile"] for row in data["dataset_results"]})
|
| 765 |
+
data["benchmark"]["exact_source_profiles"] = sorted({row["runtime"] for row in data["dataset_results"]})
|
| 766 |
+
run_summary = {
|
| 767 |
+
"schema": "cpp135-main26-site-import-v1", "comparison_profile": PROFILE,
|
| 768 |
+
"execution_host": "192.168.99.20", "dataset_count": 135, "method_count": 26,
|
| 769 |
+
"pair_count": EXPECTED_PAIR_COUNT, "numeric_row_count": len(additions),
|
| 770 |
+
"pair_status_counts": dict(sorted(status_counts.items())), "exact_runtimes": exact_runtimes,
|
| 771 |
+
"dtype_scope_status_counts": scoped_status_counts,
|
| 772 |
+
"aggregate_receipt": acceptance["aggregate_receipt"], "site_acceptance": {"file": PUBLIC_ACCEPTANCE, "sha256": acceptance_sha},
|
| 773 |
+
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only",
|
| 774 |
+
"old_results_retained": True,
|
| 775 |
+
}
|
| 776 |
+
data["source"].setdefault("measurement_runs", []).append(run_summary)
|
| 777 |
+
coverage = data["coverage"]
|
| 778 |
+
coverage.update(
|
| 779 |
+
dataset_result_row_count=len(data["dataset_results"]),
|
| 780 |
+
configuration_aggregate_row_count=len(data["configuration_aggregates"]),
|
| 781 |
+
family_best_aggregate_row_count=len(data["family_best_aggregates"]),
|
| 782 |
+
method_family_count=len({row["family"] for row in data["dataset_results"]}),
|
| 783 |
+
method_configuration_count=len({row["algorithm_variant"] for row in data["dataset_results"]}),
|
| 784 |
+
runtime_configuration_count=len({(row["comparison_profile"], row["algorithm_variant"]) for row in data["dataset_results"]}),
|
| 785 |
+
runtime_count=len(data["benchmark"]["implementation_runtimes"]),
|
| 786 |
+
runtimes=data["benchmark"]["implementation_runtimes"],
|
| 787 |
+
timing_unavailable_dataset_result_count=sum(row.get("timing_aggregation") == "unavailable" for row in data["dataset_results"]),
|
| 788 |
+
)
|
| 789 |
+
coverage["cpp135_main26"] = run_summary
|
| 790 |
+
write_json(output / "data.json", data)
|
| 791 |
+
subprocess.run([sys.executable, str(output / "build_ui_payload.py")], check=True, capture_output=True, text=True)
|
| 792 |
+
new_ui = read_json(output / "ui-data.json")
|
| 793 |
+
data_sha, ui_sha = sha256(output / "data.json"), sha256(output / "ui-data.json")
|
| 794 |
+
require(new_ui["source_data_sha256"] == data_sha and len(new_ui["compact_records"]) == len(data["dataset_results"]), "data/UI closure differs")
|
| 795 |
+
|
| 796 |
+
sidecar = replace_latest_view(old_sidecar, old_ui, new_ui, source_rows, scoped_rows, additions, acceptance_sha, data_sha, ui_sha)
|
| 797 |
+
write_json(output / "cpp-latest-view.json", sidecar)
|
| 798 |
+
sidecar_sha = sha256(output / "cpp-latest-view.json")
|
| 799 |
+
deterministic_gzip(output / "data.json", output / DATA_GZIP)
|
| 800 |
+
deterministic_gzip(output / "cpp-latest-view.json", output / SIDECAR_GZIP)
|
| 801 |
+
data_gzip_sha = sha256(output / DATA_GZIP)
|
| 802 |
+
sidecar_gzip_sha = sha256(output / SIDECAR_GZIP)
|
| 803 |
+
|
| 804 |
+
app_path = output / "app.js"
|
| 805 |
+
app = app_path.read_text()
|
| 806 |
+
require(app.count(BASELINE_SHA256["cpp-latest-view.json"]) == 1, "app sidecar SHA anchor differs")
|
| 807 |
+
require(app.count("20261015-float-scaling9-v1") == 2, "app payload cache anchors differ")
|
| 808 |
+
require(app.count("built_from_frozen_published_baseline_and_accepted_float_scaling9") == 1, "app sidecar status anchor differs")
|
| 809 |
+
app = app.replace(BASELINE_SHA256["cpp-latest-view.json"], sidecar_sha)
|
| 810 |
+
app = app.replace("20261015-float-scaling9-v1", VERSION)
|
| 811 |
+
app = app.replace("built_from_frozen_published_baseline_and_accepted_float_scaling9", SIDECAR_STATUS)
|
| 812 |
+
sidecar_constant = f"const CPP_LATEST_VIEW_SHA256='{sidecar_sha}';"
|
| 813 |
+
require(app.count(sidecar_constant) == 1, "app uncompressed sidecar SHA anchor differs")
|
| 814 |
+
app = app.replace(sidecar_constant, sidecar_constant + f"\nconst CPP_LATEST_VIEW_GZIP_SHA256='{sidecar_gzip_sha}';")
|
| 815 |
+
sha_helper = "async function sha256Hex(buffer){const digest=await crypto.subtle.digest('SHA-256',buffer);return [...new Uint8Array(digest)].map(byte=>byte.toString(16).padStart(2,'0')).join('');}"
|
| 816 |
+
gzip_helper = sha_helper + "\nasync function gunzipBuffer(buffer,label){if(typeof DecompressionStream!=='function')throw new Error(`${label} requires browser gzip decompression support.`);try{return await new Response(new Blob([buffer]).stream().pipeThrough(new DecompressionStream('gzip'))).arrayBuffer();}catch(error){throw new Error(`${label} could not be decompressed: ${error instanceof Error?error.message:String(error)}`);}}"
|
| 817 |
+
require(app.count(sha_helper) == 1, "app SHA helper anchor differs")
|
| 818 |
+
app = app.replace(sha_helper, gzip_helper)
|
| 819 |
+
old_fetch = f"fetch('./cpp-latest-view.json?v={VERSION}',{{cache:'no-cache'}})"
|
| 820 |
+
require(app.count(old_fetch) == 1, "app sidecar fetch anchor differs")
|
| 821 |
+
app = app.replace(old_fetch, f"fetch('./{SIDECAR_GZIP}?v={VERSION}',{{cache:'no-cache'}})")
|
| 822 |
+
old_buffers = "const [snapshotBuffer,sidecarBuffer]=await Promise.all([snapshotResponse.arrayBuffer(),sidecarResponse.arrayBuffer()]);\n const sidecarSha=await sha256Hex(sidecarBuffer);if(sidecarSha!==CPP_LATEST_VIEW_SHA256)throw new Error('The combined C++ sidecar does not match the independently reviewed release selection.');"
|
| 823 |
+
new_buffers = "const [snapshotBuffer,sidecarGzipBuffer]=await Promise.all([snapshotResponse.arrayBuffer(),sidecarResponse.arrayBuffer()]);\n const sidecarGzipSha=await sha256Hex(sidecarGzipBuffer);if(sidecarGzipSha!==CPP_LATEST_VIEW_GZIP_SHA256)throw new Error('The compressed C++ sidecar transport does not match the frozen release.');\n const sidecarBuffer=await gunzipBuffer(sidecarGzipBuffer,'The combined C++ sidecar');\n const sidecarSha=await sha256Hex(sidecarBuffer);if(sidecarSha!==CPP_LATEST_VIEW_SHA256)throw new Error('The combined C++ sidecar does not match the independently reviewed release selection.');"
|
| 824 |
+
require(app.count(old_buffers) == 1, "app sidecar buffer anchor differs")
|
| 825 |
+
app = app.replace(old_buffers, new_buffers)
|
| 826 |
+
app_path.write_text(app)
|
| 827 |
+
subprocess.run(["node", "--check", str(app_path)], check=True, capture_output=True, text=True)
|
| 828 |
+
index_path = output / "index.html"
|
| 829 |
+
index = index_path.read_text()
|
| 830 |
+
require(index.count("app.js?v=20261015-float-scaling9-v1") == 1, "index app cache anchor differs")
|
| 831 |
+
index = index.replace("app.js?v=20261015-float-scaling9-v1", f"app.js?v={VERSION}")
|
| 832 |
+
require(index.count('href="data.json"') == 2, "index result-download anchors differ")
|
| 833 |
+
index = index.replace('href="data.json"', f'href="{DATA_GZIP}"')
|
| 834 |
+
index = index.replace("Result snapshot (JSON)", "Result snapshot (JSON.GZ)")
|
| 835 |
+
index_path.write_text(index)
|
| 836 |
+
require(sha256(output / "ranking.js") == BASELINE_SHA256["ranking.js"], "ranking.js changed")
|
| 837 |
+
|
| 838 |
+
manifest = read_json(output / "manifest.json")
|
| 839 |
+
manifest["data_file"] = DATA_GZIP
|
| 840 |
+
manifest["data_sha256"] = data_gzip_sha
|
| 841 |
+
manifest["data_uncompressed_sha256"] = data_sha
|
| 842 |
+
manifest["counts"] = coverage
|
| 843 |
+
manifest["measurement_runs"] = data["source"]["measurement_runs"]
|
| 844 |
+
manifest["cpp135_main26"] = run_summary
|
| 845 |
+
manifest["cpp135_main26"]["documentation"] = {"file": "README.md", "sha256": sha256(output / "README.md")}
|
| 846 |
+
manifest["cpp135_main26"]["publication_transport"] = {
|
| 847 |
+
"data": {"file": DATA_GZIP, "sha256": data_gzip_sha, "uncompressed_sha256": data_sha, "encoding": "gzip"},
|
| 848 |
+
"cpp_latest_view": {"file": SIDECAR_GZIP, "sha256": sidecar_gzip_sha, "uncompressed_sha256": sidecar_sha, "encoding": "gzip"},
|
| 849 |
+
}
|
| 850 |
+
manifest["data_transport"] = manifest["cpp135_main26"]["publication_transport"]["data"]
|
| 851 |
+
manifest["cpp_latest_view"] = {
|
| 852 |
+
"file": SIDECAR_GZIP, "sha256": sidecar_gzip_sha, "uncompressed_sha256": sidecar_sha,
|
| 853 |
+
"encoding": "gzip", "schema": sidecar["schema"], "status": sidecar["status"],
|
| 854 |
+
}
|
| 855 |
+
manifest["latest_page_inputs"] = {
|
| 856 |
+
"compact_data": {"file": "ui-data.json", "sha256": ui_sha},
|
| 857 |
+
"selection_sidecar": copy.deepcopy(manifest["cpp_latest_view"]),
|
| 858 |
+
}
|
| 859 |
+
manifest["historical_large_files"] = {
|
| 860 |
+
"data.json": {
|
| 861 |
+
"sha256": BASELINE_SHA256["data.json"],
|
| 862 |
+
"status": "preserved_historical_not_read_by_latest_page",
|
| 863 |
+
},
|
| 864 |
+
"cpp-latest-view.json": {
|
| 865 |
+
"sha256": BASELINE_SHA256["cpp-latest-view.json"],
|
| 866 |
+
"status": "preserved_historical_not_read_by_latest_page",
|
| 867 |
+
},
|
| 868 |
+
}
|
| 869 |
+
write_json(output / "manifest.json", manifest)
|
| 870 |
+
|
| 871 |
+
builder_name = Path(__file__).name
|
| 872 |
+
shutil.copy2(Path(__file__), output / builder_name)
|
| 873 |
+
changed = [
|
| 874 |
+
DATA_GZIP, "ui-data.json", SIDECAR_GZIP, "app.js", "index.html", "README.md", "manifest.json", GZIP_PACKAGER,
|
| 875 |
+
*SOURCE_FILES.values(), PUBLIC_ACCEPTANCE, builder_name,
|
| 876 |
+
]
|
| 877 |
+
integration = {
|
| 878 |
+
"schema": "compressionbenchmark-cpp135-main26-site-integration-v1",
|
| 879 |
+
"status": "passed_not_published",
|
| 880 |
+
"created_at": dt.datetime.now(dt.timezone.utc).isoformat(),
|
| 881 |
+
"parent_revision": BASELINE_REVISION,
|
| 882 |
+
"old_dataset_result_count": old_count,
|
| 883 |
+
"new_dataset_result_count": len(additions),
|
| 884 |
+
"final_dataset_result_count": len(data["dataset_results"]),
|
| 885 |
+
"historical_dataset_results_canonical_sha256": old_rows_sha,
|
| 886 |
+
"scope": {"measured_datasets": 135, "methods": 26, "pair_count": EXPECTED_PAIR_COUNT, "pair_status_counts": dict(sorted(status_counts.items()))},
|
| 887 |
+
"files": {name: {"bytes": (output / name).stat().st_size, "sha256": sha256(output / name)} for name in changed},
|
| 888 |
+
"publication_file_list": changed + [PUBLIC_INTEGRATION],
|
| 889 |
+
"semantic_checks": {
|
| 890 |
+
"all_3510_latest_pair_decisions_replaced": True,
|
| 891 |
+
"historical_rows_retained_byte_for_byte_in_canonical_order": True,
|
| 892 |
+
"numeric_rows_only_for_full_valid_support_within_exact_dtype_scope": True,
|
| 893 |
+
"partial_overall_never_published_but_full_dtype_scope_retained": True,
|
| 894 |
+
"partial_unsupported_not_applicable_numeric_fallback_count": 0,
|
| 895 |
+
"compressed_bytes_include_NA_frames_once": True,
|
| 896 |
+
"ranking_js_unchanged": True,
|
| 897 |
+
"readme_main26_scope_and_measurement_contract_updated": True,
|
| 898 |
+
"gzip_transport_decompresses_byte_exact_to_canonical_v2_payload": True,
|
| 899 |
+
"large_uncompressed_data_and_sidecar_excluded_from_publication_delta": True,
|
| 900 |
+
"app_javascript_syntax": "pass",
|
| 901 |
+
"data_ui_sidecar_hash_closure": True,
|
| 902 |
+
},
|
| 903 |
+
"page_checks_required_after_publication": [
|
| 904 |
+
"C++ Overall uses the latest main26 decision for all exact 135 x 26 pairs",
|
| 905 |
+
"full-support rows show server-192 provenance and one W1/R3/T1 timing contract",
|
| 906 |
+
"partial, unsupported and not-applicable pairs do not fall back to old numeric rows",
|
| 907 |
+
"CSV retains source host, binary/support identity, measurement status and timing status",
|
| 908 |
+
],
|
| 909 |
+
}
|
| 910 |
+
integration_path = output / PUBLIC_INTEGRATION
|
| 911 |
+
write_json(integration_path, integration)
|
| 912 |
+
build_result = {
|
| 913 |
+
"status": "passed_not_published", "output": str(output),
|
| 914 |
+
"data_sha256": data_sha, "ui_data_sha256": ui_sha,
|
| 915 |
+
"cpp_latest_view_sha256": sidecar_sha, "manifest_sha256": sha256(output / "manifest.json"),
|
| 916 |
+
"data_gzip_sha256": data_gzip_sha, "cpp_latest_view_gzip_sha256": sidecar_gzip_sha,
|
| 917 |
+
"integration_sha256": sha256(integration_path),
|
| 918 |
+
"publication_files": integration["publication_file_list"],
|
| 919 |
+
"pair_status_counts": dict(sorted(status_counts.items())),
|
| 920 |
+
"numeric_rows_added": len(additions),
|
| 921 |
+
}
|
| 922 |
+
write_json(Path(__file__).with_name("BUILD_RESULT.json"), build_result)
|
| 923 |
+
print(json.dumps(build_result, ensure_ascii=False, indent=2, sort_keys=True))
|
| 924 |
+
|
| 925 |
+
|
| 926 |
+
if __name__ == "__main__":
|
| 927 |
+
main()
|
cpp-latest-view-main26.json.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180
|
| 3 |
+
size 837481
|
cpp135-main26-column-results.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b
|
| 3 |
+
size 15699577
|
cpp135-main26-dataset-method-results.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b
|
| 3 |
+
size 457656
|
data-main26.json.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8
|
| 3 |
+
size 10041708
|
index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
<meta name="color-scheme" content="light dark">
|
| 8 |
<title>THULab | Time Series Compression Benchmark</title>
|
| 9 |
<link rel="stylesheet" href="style.css?v=20261013-cpp-latest-v1">
|
| 10 |
-
<script src="app.js?v=20261015-
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<a class="skip-link" href="#content">Skip to results</a>
|
|
@@ -130,12 +130,12 @@
|
|
| 130 |
<p>By default, each family selects the lowest-rate exact variant independently for each dataset only when all candidates for that dataset/family have one exact support set. This view can choose different binaries across datasets. Ambiguous support sets are omitted. Switch Method rows to Exact configuration to inspect fixed variants, source profiles, binaries, and support hashes.</p>
|
| 131 |
<p>These are published measurements, not experiments executed inside this Space. A reported ratio alone does not establish lossless reconstruction; round-trip checks and hardware details are shown only when their evidence exists in the source snapshot. Timings without an exact admitted source/build/binary/boundary chain are unavailable to timing and composite rankings.</p>
|
| 132 |
<h3>Download and provenance</h3>
|
| 133 |
-
<p><a href="data.json" download>Result snapshot (JSON)</a> · <a href="manifest.json" download>Source manifest (JSON)</a> · <a href="native86-coverage.json" download>Native86 coverage summary (JSON)</a> · <a href="native86-terminal-matrix.jsonl.gz" download>Historical 164-dataset terminal matrix (JSONL.GZ)</a> · <a href="native86-v9-current154-thin.jsonl.gz" download>Current 154-pair V9 evidence (JSONL.GZ)</a> · <a href="native86-recovery-reconciliation.json" download>Recovery reconciliation (JSON)</a></p>
|
| 134 |
<div id="provenance"></div>
|
| 135 |
<h3>Contribute a result</h3>
|
| 136 |
<p>Run the project benchmark and provide the codec/configuration, input identity, compression and decompression measurements, execution environment, and round-trip validation evidence. Results can be updated from the source project using the snapshot exporter included in the Space repository.</p>
|
| 137 |
</section>
|
| 138 |
-
<noscript><p class="error-message">Enable JavaScript to filter and sort this leaderboard. You can also download <a href="data.json">the results JSON</a>.</p></noscript>
|
| 139 |
<footer><span>THULab · Time Series Compression Benchmark</span><span id="footer-snapshot"></span></footer>
|
| 140 |
</main>
|
| 141 |
</body>
|
|
|
|
| 7 |
<meta name="color-scheme" content="light dark">
|
| 8 |
<title>THULab | Time Series Compression Benchmark</title>
|
| 9 |
<link rel="stylesheet" href="style.css?v=20261013-cpp-latest-v1">
|
| 10 |
+
<script src="app.js?v=20261015-main26-gzip-v4" type="module"></script>
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<a class="skip-link" href="#content">Skip to results</a>
|
|
|
|
| 130 |
<p>By default, each family selects the lowest-rate exact variant independently for each dataset only when all candidates for that dataset/family have one exact support set. This view can choose different binaries across datasets. Ambiguous support sets are omitted. Switch Method rows to Exact configuration to inspect fixed variants, source profiles, binaries, and support hashes.</p>
|
| 131 |
<p>These are published measurements, not experiments executed inside this Space. A reported ratio alone does not establish lossless reconstruction; round-trip checks and hardware details are shown only when their evidence exists in the source snapshot. Timings without an exact admitted source/build/binary/boundary chain are unavailable to timing and composite rankings.</p>
|
| 132 |
<h3>Download and provenance</h3>
|
| 133 |
+
<p><a href="data-main26.json.gz" download>Result snapshot (JSON.GZ)</a> · <a href="manifest.json" download>Source manifest (JSON)</a> · <a href="native86-coverage.json" download>Native86 coverage summary (JSON)</a> · <a href="native86-terminal-matrix.jsonl.gz" download>Historical 164-dataset terminal matrix (JSONL.GZ)</a> · <a href="native86-v9-current154-thin.jsonl.gz" download>Current 154-pair V9 evidence (JSONL.GZ)</a> · <a href="native86-recovery-reconciliation.json" download>Recovery reconciliation (JSON)</a></p>
|
| 134 |
<div id="provenance"></div>
|
| 135 |
<h3>Contribute a result</h3>
|
| 136 |
<p>Run the project benchmark and provide the codec/configuration, input identity, compression and decompression measurements, execution environment, and round-trip validation evidence. Results can be updated from the source project using the snapshot exporter included in the Space repository.</p>
|
| 137 |
</section>
|
| 138 |
+
<noscript><p class="error-message">Enable JavaScript to filter and sort this leaderboard. You can also download <a href="data-main26.json.gz">the results JSON</a>.</p></noscript>
|
| 139 |
<footer><span>THULab · Time Series Compression Benchmark</span><span id="footer-snapshot"></span></footer>
|
| 140 |
</main>
|
| 141 |
</body>
|
manifest.json
CHANGED
|
@@ -33,7 +33,7 @@
|
|
| 33 |
},
|
| 34 |
"counts": {
|
| 35 |
"catalog_dataset_count": 164,
|
| 36 |
-
"configuration_aggregate_row_count":
|
| 37 |
"corrected_five425": {
|
| 38 |
"active_method_count": 85,
|
| 39 |
"all_na_pair_count": 0,
|
|
@@ -66,8 +66,72 @@
|
|
| 66 |
"special_support_review_pair_count": 8,
|
| 67 |
"timing_admitted": false
|
| 68 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
"dataset_count": 164,
|
| 70 |
-
"dataset_result_row_count":
|
| 71 |
"excluded_datasets": [
|
| 72 |
"Arade",
|
| 73 |
"app_flow",
|
|
@@ -79,7 +143,7 @@
|
|
| 79 |
"tiktok_trending_hashtags_music",
|
| 80 |
"youtube_trending_2019_2020"
|
| 81 |
],
|
| 82 |
-
"family_best_aggregate_row_count":
|
| 83 |
"float_scaling9": {
|
| 84 |
"acceptance": {
|
| 85 |
"file": "FLOAT_SCALING9_SITE_ACCEPTANCE.json",
|
|
@@ -103,7 +167,7 @@
|
|
| 103 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 104 |
},
|
| 105 |
"measured_dataset_count": 164,
|
| 106 |
-
"method_configuration_count":
|
| 107 |
"method_family_count": 104,
|
| 108 |
"missing_measurement_policy": "Missing report and dataset/scope/runtime/configuration combinations are omitted; the UI must display them as unavailable, never as zero.",
|
| 109 |
"missing_source_report_count": 0,
|
|
@@ -402,8 +466,8 @@
|
|
| 402 |
"native86_unresolved_problem_pair_count": 0,
|
| 403 |
"native86_v9_recovered_pair_count": 154,
|
| 404 |
"paper_leaderboard_row_count": 0,
|
| 405 |
-
"runtime_configuration_count":
|
| 406 |
-
"runtime_count":
|
| 407 |
"runtimes": [
|
| 408 |
"cpp",
|
| 409 |
"cpp-native166-corrected-five-20261012-v1",
|
|
@@ -415,6 +479,7 @@
|
|
| 415 |
"cpp-native192-float-scaling9-20261014-v2",
|
| 416 |
"cpp-native192-lzg-level5-fastfalse-lzg-level5-fast0-ngf1-empty-fixed-20261010-v2",
|
| 417 |
"cpp-native192-lzg-level5-fastfalse-lzg-level5-fast0-ngf1-fixed-20261010-v1",
|
|
|
|
| 418 |
"cpp-native192-next5-baseline86-fixed-profiles-20260919-v3",
|
| 419 |
"java",
|
| 420 |
"python"
|
|
@@ -426,14 +491,87 @@
|
|
| 426 |
"timing_dataset_aggregate_result_count": 0,
|
| 427 |
"timing_unavailable_dataset_result_count": 67677
|
| 428 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 429 |
"cpp_latest_view": {
|
| 430 |
-
"
|
|
|
|
| 431 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 432 |
-
"sha256": "
|
| 433 |
-
"status": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 434 |
},
|
| 435 |
-
"
|
| 436 |
-
"data_sha256": "3c66633b2d58b126edfad8afe173caf1f53fbcdb6f7b205c3d51b42dfc75a241",
|
| 437 |
"dataset_catalog_sha256": "47869c8078e8c864810d4f961fa5879e120943bb3f371b39f0adc74f3de2ee2d",
|
| 438 |
"excluded_content": [
|
| 439 |
"raw datasets",
|
|
@@ -465,6 +603,30 @@
|
|
| 465 |
"schema": "float-scaling9-site-import-v1",
|
| 466 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 467 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 468 |
"measurement_runs": [
|
| 469 |
{
|
| 470 |
"decode_boundary": "DBF header parse, integer-body decode, and inverse scaling or IEEE-word reconstruction",
|
|
@@ -1076,6 +1238,52 @@
|
|
| 1076 |
"pure_float_dataset_method_pairs": 639,
|
| 1077 |
"schema": "float-scaling9-site-import-v1",
|
| 1078 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1079 |
}
|
| 1080 |
],
|
| 1081 |
"native86_imports": {
|
|
|
|
| 33 |
},
|
| 34 |
"counts": {
|
| 35 |
"catalog_dataset_count": 164,
|
| 36 |
+
"configuration_aggregate_row_count": 5906,
|
| 37 |
"corrected_five425": {
|
| 38 |
"active_method_count": 85,
|
| 39 |
"all_na_pair_count": 0,
|
|
|
|
| 66 |
"special_support_review_pair_count": 8,
|
| 67 |
"timing_admitted": false
|
| 68 |
},
|
| 69 |
+
"cpp135_main26": {
|
| 70 |
+
"aggregate_receipt": {
|
| 71 |
+
"file": "CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 72 |
+
"schema": "cpp135-main26-aggregate-receipt-v2",
|
| 73 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337",
|
| 74 |
+
"status": "complete_summarized_builtin_lossless_not_independent_fresh_verification"
|
| 75 |
+
},
|
| 76 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 77 |
+
"dataset_count": 135,
|
| 78 |
+
"documentation": {
|
| 79 |
+
"file": "README.md",
|
| 80 |
+
"sha256": "c89a678703ff26d46f676a8bb807aff3da30c74961c21063ea277307c8e8af99"
|
| 81 |
+
},
|
| 82 |
+
"dtype_scope_status_counts": {
|
| 83 |
+
"float": {
|
| 84 |
+
"numeric": 1936,
|
| 85 |
+
"partial_numeric": 193,
|
| 86 |
+
"unsupported": 1355
|
| 87 |
+
},
|
| 88 |
+
"integer": {
|
| 89 |
+
"numeric": 572,
|
| 90 |
+
"unsupported": 572
|
| 91 |
+
},
|
| 92 |
+
"overall": {
|
| 93 |
+
"numeric": 1529,
|
| 94 |
+
"partial_numeric": 629,
|
| 95 |
+
"unsupported": 1352
|
| 96 |
+
}
|
| 97 |
+
},
|
| 98 |
+
"exact_runtimes": [
|
| 99 |
+
"cpp-native192-main26-0558378c",
|
| 100 |
+
"cpp-native192-main26-737e3b85"
|
| 101 |
+
],
|
| 102 |
+
"execution_host": "192.168.99.20",
|
| 103 |
+
"method_count": 26,
|
| 104 |
+
"numeric_row_count": 4037,
|
| 105 |
+
"old_results_retained": true,
|
| 106 |
+
"pair_count": 3510,
|
| 107 |
+
"pair_status_counts": {
|
| 108 |
+
"numeric": 1529,
|
| 109 |
+
"partial_numeric": 629,
|
| 110 |
+
"unsupported": 1352
|
| 111 |
+
},
|
| 112 |
+
"publication_transport": {
|
| 113 |
+
"cpp_latest_view": {
|
| 114 |
+
"encoding": "gzip",
|
| 115 |
+
"file": "cpp-latest-view-main26.json.gz",
|
| 116 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 117 |
+
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 118 |
+
},
|
| 119 |
+
"data": {
|
| 120 |
+
"encoding": "gzip",
|
| 121 |
+
"file": "data-main26.json.gz",
|
| 122 |
+
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 123 |
+
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 124 |
+
}
|
| 125 |
+
},
|
| 126 |
+
"schema": "cpp135-main26-site-import-v1",
|
| 127 |
+
"site_acceptance": {
|
| 128 |
+
"file": "CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
| 129 |
+
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 130 |
+
},
|
| 131 |
+
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 132 |
+
},
|
| 133 |
"dataset_count": 164,
|
| 134 |
+
"dataset_result_row_count": 99008,
|
| 135 |
"excluded_datasets": [
|
| 136 |
"Arade",
|
| 137 |
"app_flow",
|
|
|
|
| 143 |
"tiktok_trending_hashtags_music",
|
| 144 |
"youtube_trending_2019_2020"
|
| 145 |
],
|
| 146 |
+
"family_best_aggregate_row_count": 1997,
|
| 147 |
"float_scaling9": {
|
| 148 |
"acceptance": {
|
| 149 |
"file": "FLOAT_SCALING9_SITE_ACCEPTANCE.json",
|
|
|
|
| 167 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 168 |
},
|
| 169 |
"measured_dataset_count": 164,
|
| 170 |
+
"method_configuration_count": 982,
|
| 171 |
"method_family_count": 104,
|
| 172 |
"missing_measurement_policy": "Missing report and dataset/scope/runtime/configuration combinations are omitted; the UI must display them as unavailable, never as zero.",
|
| 173 |
"missing_source_report_count": 0,
|
|
|
|
| 466 |
"native86_unresolved_problem_pair_count": 0,
|
| 467 |
"native86_v9_recovered_pair_count": 154,
|
| 468 |
"paper_leaderboard_row_count": 0,
|
| 469 |
+
"runtime_configuration_count": 1630,
|
| 470 |
+
"runtime_count": 14,
|
| 471 |
"runtimes": [
|
| 472 |
"cpp",
|
| 473 |
"cpp-native166-corrected-five-20261012-v1",
|
|
|
|
| 479 |
"cpp-native192-float-scaling9-20261014-v2",
|
| 480 |
"cpp-native192-lzg-level5-fastfalse-lzg-level5-fast0-ngf1-empty-fixed-20261010-v2",
|
| 481 |
"cpp-native192-lzg-level5-fastfalse-lzg-level5-fast0-ngf1-fixed-20261010-v1",
|
| 482 |
+
"cpp-native192-main26-whole-column-20261015-v1",
|
| 483 |
"cpp-native192-next5-baseline86-fixed-profiles-20260919-v3",
|
| 484 |
"java",
|
| 485 |
"python"
|
|
|
|
| 491 |
"timing_dataset_aggregate_result_count": 0,
|
| 492 |
"timing_unavailable_dataset_result_count": 67677
|
| 493 |
},
|
| 494 |
+
"cpp135_main26": {
|
| 495 |
+
"aggregate_receipt": {
|
| 496 |
+
"file": "CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 497 |
+
"schema": "cpp135-main26-aggregate-receipt-v2",
|
| 498 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337",
|
| 499 |
+
"status": "complete_summarized_builtin_lossless_not_independent_fresh_verification"
|
| 500 |
+
},
|
| 501 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 502 |
+
"dataset_count": 135,
|
| 503 |
+
"documentation": {
|
| 504 |
+
"file": "README.md",
|
| 505 |
+
"sha256": "c89a678703ff26d46f676a8bb807aff3da30c74961c21063ea277307c8e8af99"
|
| 506 |
+
},
|
| 507 |
+
"dtype_scope_status_counts": {
|
| 508 |
+
"float": {
|
| 509 |
+
"numeric": 1936,
|
| 510 |
+
"partial_numeric": 193,
|
| 511 |
+
"unsupported": 1355
|
| 512 |
+
},
|
| 513 |
+
"integer": {
|
| 514 |
+
"numeric": 572,
|
| 515 |
+
"unsupported": 572
|
| 516 |
+
},
|
| 517 |
+
"overall": {
|
| 518 |
+
"numeric": 1529,
|
| 519 |
+
"partial_numeric": 629,
|
| 520 |
+
"unsupported": 1352
|
| 521 |
+
}
|
| 522 |
+
},
|
| 523 |
+
"exact_runtimes": [
|
| 524 |
+
"cpp-native192-main26-0558378c",
|
| 525 |
+
"cpp-native192-main26-737e3b85"
|
| 526 |
+
],
|
| 527 |
+
"execution_host": "192.168.99.20",
|
| 528 |
+
"method_count": 26,
|
| 529 |
+
"numeric_row_count": 4037,
|
| 530 |
+
"old_results_retained": true,
|
| 531 |
+
"pair_count": 3510,
|
| 532 |
+
"pair_status_counts": {
|
| 533 |
+
"numeric": 1529,
|
| 534 |
+
"partial_numeric": 629,
|
| 535 |
+
"unsupported": 1352
|
| 536 |
+
},
|
| 537 |
+
"publication_transport": {
|
| 538 |
+
"cpp_latest_view": {
|
| 539 |
+
"encoding": "gzip",
|
| 540 |
+
"file": "cpp-latest-view-main26.json.gz",
|
| 541 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 542 |
+
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 543 |
+
},
|
| 544 |
+
"data": {
|
| 545 |
+
"encoding": "gzip",
|
| 546 |
+
"file": "data-main26.json.gz",
|
| 547 |
+
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 548 |
+
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 549 |
+
}
|
| 550 |
+
},
|
| 551 |
+
"schema": "cpp135-main26-site-import-v1",
|
| 552 |
+
"site_acceptance": {
|
| 553 |
+
"file": "CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
| 554 |
+
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 555 |
+
},
|
| 556 |
+
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 557 |
+
},
|
| 558 |
"cpp_latest_view": {
|
| 559 |
+
"encoding": "gzip",
|
| 560 |
+
"file": "cpp-latest-view-main26.json.gz",
|
| 561 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 562 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 563 |
+
"status": "built_from_verified_live_float9_baseline_and_completed_main26",
|
| 564 |
+
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 565 |
+
},
|
| 566 |
+
"data_file": "data-main26.json.gz",
|
| 567 |
+
"data_sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 568 |
+
"data_transport": {
|
| 569 |
+
"encoding": "gzip",
|
| 570 |
+
"file": "data-main26.json.gz",
|
| 571 |
+
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 572 |
+
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 573 |
},
|
| 574 |
+
"data_uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2",
|
|
|
|
| 575 |
"dataset_catalog_sha256": "47869c8078e8c864810d4f961fa5879e120943bb3f371b39f0adc74f3de2ee2d",
|
| 576 |
"excluded_content": [
|
| 577 |
"raw datasets",
|
|
|
|
| 603 |
"schema": "float-scaling9-site-import-v1",
|
| 604 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 605 |
},
|
| 606 |
+
"historical_large_files": {
|
| 607 |
+
"cpp-latest-view.json": {
|
| 608 |
+
"sha256": "564b8f7760a6336e93bd0d69601e74ada9819b361dc2464d768689af0d287cbd",
|
| 609 |
+
"status": "preserved_historical_not_read_by_latest_page"
|
| 610 |
+
},
|
| 611 |
+
"data.json": {
|
| 612 |
+
"sha256": "3c66633b2d58b126edfad8afe173caf1f53fbcdb6f7b205c3d51b42dfc75a241",
|
| 613 |
+
"status": "preserved_historical_not_read_by_latest_page"
|
| 614 |
+
}
|
| 615 |
+
},
|
| 616 |
+
"latest_page_inputs": {
|
| 617 |
+
"compact_data": {
|
| 618 |
+
"file": "ui-data.json",
|
| 619 |
+
"sha256": "841b15cbef0c346b43d72ab3c9530065abe4d24c45aef64d5e75d8ec49996f8f"
|
| 620 |
+
},
|
| 621 |
+
"selection_sidecar": {
|
| 622 |
+
"encoding": "gzip",
|
| 623 |
+
"file": "cpp-latest-view-main26.json.gz",
|
| 624 |
+
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 625 |
+
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 626 |
+
"status": "built_from_verified_live_float9_baseline_and_completed_main26",
|
| 627 |
+
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 628 |
+
}
|
| 629 |
+
},
|
| 630 |
"measurement_runs": [
|
| 631 |
{
|
| 632 |
"decode_boundary": "DBF header parse, integer-body decode, and inverse scaling or IEEE-word reconstruction",
|
|
|
|
| 1238 |
"pure_float_dataset_method_pairs": 639,
|
| 1239 |
"schema": "float-scaling9-site-import-v1",
|
| 1240 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 1241 |
+
},
|
| 1242 |
+
{
|
| 1243 |
+
"aggregate_receipt": {
|
| 1244 |
+
"file": "CPP135_MAIN26_AGGREGATE_RECEIPT.json",
|
| 1245 |
+
"schema": "cpp135-main26-aggregate-receipt-v2",
|
| 1246 |
+
"sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337",
|
| 1247 |
+
"status": "complete_summarized_builtin_lossless_not_independent_fresh_verification"
|
| 1248 |
+
},
|
| 1249 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 1250 |
+
"dataset_count": 135,
|
| 1251 |
+
"dtype_scope_status_counts": {
|
| 1252 |
+
"float": {
|
| 1253 |
+
"numeric": 1936,
|
| 1254 |
+
"partial_numeric": 193,
|
| 1255 |
+
"unsupported": 1355
|
| 1256 |
+
},
|
| 1257 |
+
"integer": {
|
| 1258 |
+
"numeric": 572,
|
| 1259 |
+
"unsupported": 572
|
| 1260 |
+
},
|
| 1261 |
+
"overall": {
|
| 1262 |
+
"numeric": 1529,
|
| 1263 |
+
"partial_numeric": 629,
|
| 1264 |
+
"unsupported": 1352
|
| 1265 |
+
}
|
| 1266 |
+
},
|
| 1267 |
+
"exact_runtimes": [
|
| 1268 |
+
"cpp-native192-main26-0558378c",
|
| 1269 |
+
"cpp-native192-main26-737e3b85"
|
| 1270 |
+
],
|
| 1271 |
+
"execution_host": "192.168.99.20",
|
| 1272 |
+
"method_count": 26,
|
| 1273 |
+
"numeric_row_count": 4037,
|
| 1274 |
+
"old_results_retained": true,
|
| 1275 |
+
"pair_count": 3510,
|
| 1276 |
+
"pair_status_counts": {
|
| 1277 |
+
"numeric": 1529,
|
| 1278 |
+
"partial_numeric": 629,
|
| 1279 |
+
"unsupported": 1352
|
| 1280 |
+
},
|
| 1281 |
+
"schema": "cpp135-main26-site-import-v1",
|
| 1282 |
+
"site_acceptance": {
|
| 1283 |
+
"file": "CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
| 1284 |
+
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 1285 |
+
},
|
| 1286 |
+
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 1287 |
}
|
| 1288 |
],
|
| 1289 |
"native86_imports": {
|
ui-data.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|