Skip to content

chore(deps): mimalloc-pprof =1.1.0 (explicit pprof) and release 0.1.30 - #428

Merged
zackees merged 2 commits into
mainfrom
chore/mimalloc-pprof-upgrade
Oct 16, 2026
Merged

zackees merged 2 commits into
mainfrom
chore/mimalloc-pprof-upgrade

Conversation

@zackees

@zackees zackees commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Bumps the allocator feature's mimalloc-pprof pin from =0.9.4 to =1.1.0, and prepares kernal-api 0.1.30 (same 19-file shape as the 0.1.29 release, #424).

Why features = ["pprof"] is explicit

mimalloc-pprof 0.12 changed default = [] (every observability subsystem opt-in). 0.9.4 always compiled the sampled profiler (MI_PPROF=1). kernal_api::allocator::{start, stats, live_sample_count, dump_*} all call mimalloc_pprof::prof::*, so the dependency now declares default-features = false, features = ["pprof"]. Without it, start() would return false and dumps would be empty. tests/allocator_heap_profile.rs covers this (all-features nextest, full mode).

Upstream changes 0.9.4 -> 1.1.0 (no Rust API break per its changelog)

  • 0.12: opt-in features (above); DHAT opt-in.
  • 1.0.x: Windows 7 fallback, PurgeFlags::RECLAIM, DHAT/snapshot fixes.
  • Memory: freed arena slices kept 400-800 ms before purge (#486), resident-first reuse (#493, MIMALLOC_RESIDENT_FIRST=0 opts out), slack discard on reused pages, large-page reuse policy (#575, Opt::LARGE_SPAN_MAX). Expect RSS to drop a bit later after a spike but stay lower across reuse.

The aarch64-pc-windows-msvc floor (>= 0.9.3, zccache #1439) is still met.

Cascade

Step 1 of mimalloc-pprof -> kernal-api 0.1.30 -> zccache -> soldr. links = "mimalloc" means all three have to move to 1.1.0 together.

Local gate: linux-minimal + dylint-minimal passed (stamped). Labeled ci-full because this changes the vendored C allocator on every target.

… feature

mimalloc-pprof 0.12 made every observability subsystem opt-in (default = []),
so the allocator feature now names `pprof` explicitly to keep the sampled
heap profiler (MI_PPROF=1) that allocator::{start,stats,dump_*} rely on.
Local-Gate: v1 tree=11be5754b89c807b9dde8818957fc22b7d2e94eb secs=1527 lanes=linux-minimal:run,dylint-minimal:run
Ci-Attestation: {"at":1792121384,"gate":"general/all/ci-guards","host":"linux-x86_64","key":"32551179a28f853a9be1d9f70b6f0535b56c103e1a84bcced2d4e9f63e87feb1","lane":"linux-minimal","parents":["8b78792d90e2d00a5838eb05bef56d0d96c722ee"],"secs":472,"stamp":"9a922b35f5b80a8dc4e50606049dfc09","tree":"11be5754b89c807b9dde8818957fc22b7d2e94eb","v":1,"via":"run"}
Ci-Attestation: {"at":1792121384,"gate":"rust/x86_64-unknown-linux-gnu/default-facade-clippy","host":"linux-x86_64","key":"32551179a28f853a9be1d9f70b6f0535b56c103e1a84bcced2d4e9f63e87feb1","lane":"linux-minimal","parents":["8b78792d90e2d00a5838eb05bef56d0d96c722ee"],"secs":472,"stamp":"181cb1cba494d16505d6220d65af815d","tree":"11be5754b89c807b9dde8818957fc22b7d2e94eb","v":1,"via":"run"}
Ci-Attestation: {"at":1792121384,"gate":"rust/x86_64-unknown-linux-gnu/default-facade-test","host":"linux-x86_64","key":"32551179a28f853a9be1d9f70b6f0535b56c103e1a84bcced2d4e9f63e87feb1","lane":"linux-minimal","parents":["8b78792d90e2d00a5838eb05bef56d0d96c722ee"],"secs":472,"stamp":"010a8871c13d1ea644e16ab541b5b4fa","tree":"11be5754b89c807b9dde8818957fc22b7d2e94eb","v":1,"via":"run"}
Ci-Attestation: {"at":1792121384,"gate":"rust/x86_64-unknown-linux-gnu/desktop-status-test","host":"linux-x86_64","key":"32551179a28f853a9be1d9f70b6f0535b56c103e1a84bcced2d4e9f63e87feb1","lane":"linux-minimal","parents":["8b78792d90e2d00a5838eb05bef56d0d96c722ee"],"secs":472,"stamp":"3a28f40430eb6bf3d055f5256eea9dbf","tree":"11be5754b89c807b9dde8818957fc22b7d2e94eb","v":1,"via":"run"}
Ci-Attestation: {"at":1792121384,"gate":"rust/x86_64-unknown-linux-gnu/dylint-all-features-all-targets","host":"linux-x86_64","key":"157a99a2d6e0c28f701a47fdb90c55dd0cfc863add81b1142d8410051441dfbb","lane":"dylint-minimal","parents":["8b78792d90e2d00a5838eb05bef56d0d96c722ee"],"secs":1055,"stamp":"e71f2b8a1a92408a8fa82a59c0a1fefc","tree":"11be5754b89c807b9dde8818957fc22b7d2e94eb","v":1,"via":"run"}
@zackees zackees added the ci-full Run the complete release-equivalent CI matrix on this PR SHA label Oct 16, 2026
@zackees
zackees merged commit caa828e into main Oct 16, 2026
15 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run the complete release-equivalent CI matrix on this PR SHA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant