From e6602804c5a19555054ffdb9598f79b3652a41be Mon Sep 17 00:00:00 2001 From: Tim Date: Sat, 3 Oct 2026 22:25:36 -0700 Subject: [PATCH] chore: rusty_alloc/-api =2.2.0 -> =2.2.2 across the eight seams FFAI brought itself to =2.2.0 after the portfolio allocator rollout ran, so it was never in that wave -- and 2.2.1 and 2.2.2 have published since. Eight manifests, all patch moves inside 2.x. The only break in the 2.x line was 2.0.0, where `default-features = false` began selecting `no_std`. Every one of these takes the allocator on default features, so none is affected. Verified: `cargo check -p ffai-core` clean, and the whole workspace resolves. Co-Authored-By: Claude Opus 5 (1M context) --- Cargo.lock | 8 ++++---- crates/ffai-argus-wasm/Cargo.toml | 2 +- crates/ffai-argus/Cargo.toml | 2 +- crates/ffai-carmenta-wasm/Cargo.toml | 4 ++-- crates/ffai-carmenta/Cargo.toml | 2 +- crates/ffai-cli/Cargo.toml | 4 ++-- crates/ffai-diana/Cargo.toml | 4 ++-- crates/ffai-mercury-wasm/Cargo.toml | 2 +- crates/ffai-wasm/Cargo.toml | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 580e311..9ed4a5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3974,9 +3974,9 @@ dependencies = [ [[package]] name = "rusty_alloc" -version = "2.2.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3689dec49611086f9a977596bbc1c8d7b2d1c21691438af506b793723ce16fa" +checksum = "e982cf3e815fd9412c64562a89a71c9c10855bd034e262b8a754cfcf975ece3b" dependencies = [ "libc", "portable-atomic", @@ -3985,9 +3985,9 @@ dependencies = [ [[package]] name = "rusty_alloc-api" -version = "2.2.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df579b05b731b70f98a73ec477aa889f7404be5f326da47691b32cdb94a8418" +checksum = "5406f30b98310bbbe2237d551b13269f45ca6f529ff1266b44a35759ddf05155" dependencies = [ "rusty_alloc", ] diff --git a/crates/ffai-argus-wasm/Cargo.toml b/crates/ffai-argus-wasm/Cargo.toml index ea5a521..faff63c 100644 --- a/crates/ffai-argus-wasm/Cargo.toml +++ b/crates/ffai-argus-wasm/Cargo.toml @@ -36,7 +36,7 @@ wasm-bindgen = "=0.2.121" # pinned to the installed wasm-bindgen-cli; the two # feeding an autoregressive decoder with a growing KV cache — so # `--no-default-features` keeps the dlmalloc arm buildable for whoever takes # that measurement. -rusty_alloc-api = { version = "=2.2.0", optional = true } +rusty_alloc-api = { version = "=2.2.2", optional = true } # The gemm SIMD A/B, off by default. `gemm` is already in the tree beneath # candle; this makes its runtime switch reachable so a browser can measure diff --git a/crates/ffai-argus/Cargo.toml b/crates/ffai-argus/Cargo.toml index 59271f8..9a0ac42 100644 --- a/crates/ffai-argus/Cargo.toml +++ b/crates/ffai-argus/Cargo.toml @@ -63,7 +63,7 @@ getrandom = { version = "0.3", features = ["wasm_js"] } # places: a SigLIP/Llama forward allocates a 47 MB score tensor per layer, and # 47 MB is above the threshold where most allocators stop pooling and go # straight to the OS. See `examples/alloc_ab.rs`. -rusty_alloc-api = "=2.2.0" +rusty_alloc-api = "=2.2.2" # The step-3 oracle test reads the reference dump's summary.json. serde_json = { workspace = true } diff --git a/crates/ffai-carmenta-wasm/Cargo.toml b/crates/ffai-carmenta-wasm/Cargo.toml index 8181e11..091fcb2 100644 --- a/crates/ffai-carmenta-wasm/Cargo.toml +++ b/crates/ffai-carmenta-wasm/Cargo.toml @@ -37,13 +37,13 @@ serde-wasm-bindgen = "0.6" # rusty_alloc at parity with dlmalloc on Diana's workload. Carmenta's # allocation pattern is different (many small line crops rather than one big # tensor chain), so the answer here is its own open measurement. -rusty_alloc-api = { version = "=2.2.0", optional = true } +rusty_alloc-api = { version = "=2.2.2", optional = true } # The allocator CORE, for `arena::reserve_os_memory_ex`. `rusty_alloc-api` is # the mi_*-compatible surface and does not re-export the arena module, but on # wasm the arena is the ONLY layer that recycles a freed segment — `prim::free` # is a no-op there because linear memory cannot shrink. Same version as the # api crate, so this adds no second copy of the allocator. -rusty_alloc = { version = "=2.2.0", optional = true } +rusty_alloc = { version = "=2.2.2", optional = true } [features] # **`rusty_alloc`, and the "open measurement" this comment used to ask for has diff --git a/crates/ffai-carmenta/Cargo.toml b/crates/ffai-carmenta/Cargo.toml index 8922d68..0b8b95c 100644 --- a/crates/ffai-carmenta/Cargo.toml +++ b/crates/ffai-carmenta/Cargo.toml @@ -84,7 +84,7 @@ tokenizers = { version = "0.23", default-features = false, features = ["unstable mimalloc = { version = "0.1", default-features = false } # Superseded as the default by the pure-Rust remake; see the allocator # doc comment in `ffai-cli/src/main.rs` for the measurement. -rusty_alloc-api = "=2.2.0" +rusty_alloc-api = "=2.2.2" ffai-media = { path = "../ffai-media" } ffai-bench = { path = "../ffai-bench" } diff --git a/crates/ffai-cli/Cargo.toml b/crates/ffai-cli/Cargo.toml index df74d0a..4fd4986 100644 --- a/crates/ffai-cli/Cargo.toml +++ b/crates/ffai-cli/Cargo.toml @@ -64,10 +64,10 @@ mimalloc = { version = "0.1", default-features = false, optional = true } # It reproduced in the CLI (which declares this allocator) and never in an # example (which declared none and got the system one), and that difference is # what finally identified it. -rusty_alloc-api = "=2.2.0" +rusty_alloc-api = "=2.2.2" # The core, for `alloc::collect` — see `spawn_page_trimmer` in main.rs. # Without it rusty_alloc's RSS does not bound on a rayon pool. -rusty_alloc = "=2.2.0" +rusty_alloc = "=2.2.2" clap = { workspace = true } [features] diff --git a/crates/ffai-diana/Cargo.toml b/crates/ffai-diana/Cargo.toml index ccd4e14..07ef41b 100644 --- a/crates/ffai-diana/Cargo.toml +++ b/crates/ffai-diana/Cargo.toml @@ -66,10 +66,10 @@ libmimalloc-sys = { version = "0.1", default-features = false } # margin the largest single effect in the Diana latency campaign (1.64x), so # it is simultaneously the dependency we most want to drop and the one that # costs the most to drop wrongly. -rusty_alloc-api = "=2.2.0" +rusty_alloc-api = "=2.2.2" # The core, for `alloc::collect` — the reclaim `examples/scaling.rs` drives. # `rusty_alloc-api` deliberately exposes collect only per-`Heap`. -rusty_alloc = "=2.2.0" +rusty_alloc = "=2.2.2" ffai-media = { path = "../ffai-media" } ffai-bench = { path = "../ffai-bench" } diff --git a/crates/ffai-mercury-wasm/Cargo.toml b/crates/ffai-mercury-wasm/Cargo.toml index 45dea00..4f0f1a1 100644 --- a/crates/ffai-mercury-wasm/Cargo.toml +++ b/crates/ffai-mercury-wasm/Cargo.toml @@ -38,7 +38,7 @@ wasm-bindgen = "=0.2.121" # pinned to the installed wasm-bindgen-cli; the two # Mercury's allocation pattern is its own question — one long encoder/decoder # chain rather than many small crops — so `--no-default-features` keeps the # dlmalloc arm buildable for whoever takes that measurement. -rusty_alloc-api = { version = "=2.2.0", optional = true } +rusty_alloc-api = { version = "=2.2.2", optional = true } [features] default = ["rusty-alloc"] diff --git a/crates/ffai-wasm/Cargo.toml b/crates/ffai-wasm/Cargo.toml index f153da6..e709b79 100644 --- a/crates/ffai-wasm/Cargo.toml +++ b/crates/ffai-wasm/Cargo.toml @@ -27,7 +27,7 @@ wasm-bindgen = "=0.2.121" # pinned to the installed wasm-bindgen-cli; the two # pre-reservation is disabled there, because wasm `memory.grow` is never # returned to the host). Whether it beats dlmalloc on THIS workload is a # measurement we can now run, which is the point of having a cdylib at all. -rusty_alloc-api = { version = "=2.2.0", optional = true } +rusty_alloc-api = { version = "=2.2.2", optional = true } [features] # `rusty_alloc` is the default; `--no-default-features` leaves the target's own