The RangeIndexer path of edge:bench (inflate, scan, owner rule, segments, file aggregation, cut-off, rules, release identity, chunk encoding v2, probe candidates) as a Rust binary over a captured range, with JS semantics where they matter (\s, trim, \b, parseInt, lastIndexOf, UTF-16 lengths). check.ts runs the TypeScript RangeIndexer on the same capture and compares every output: identical on all three captures (releases and their decoded payloads, samples, candidates, rule counts, fragments), after mapping Date headers ending in UTC to GMT (chrono follows RFC 5322; Date.parse takes UTC, a quarter of a.b.boneless). Compressed payloads differ by <0.1% in size (zstd framing), not in content. First run on boneless 2026: 360k headers/s and 228 MB peak (TypeScript: ~217k/s, ~0.7-0.8 GB). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
433 B
TOML
20 lines
433 B
TOML
[package]
|
|
name = "edge-bench-rs"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "The edge worker's indexing (lib/edge RangeIndexer) in Rust, to compare with edge:bench on captured ranges"
|
|
|
|
[dependencies]
|
|
base64 = "0.22"
|
|
chrono = "0.4"
|
|
flate2 = { version = "1", default-features = false, features = ["zlib-rs"] }
|
|
md-5 = "0.10"
|
|
regex = "1"
|
|
rustc-hash = "2"
|
|
sha1 = "0.10"
|
|
zstd = "0.13"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|