You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Free-page RSS: host-page mach_vm_deallocate + allocate(FIXED) (Apple Silicon 16 KiB; MADV_DONTNEED does not drop Darwin RSS)
Defaults: page blacklist off (opt-in GCRY_BLACKLIST=1); large_cache_retain0
CI: macos-latest native specs + samples
Gcry.register_set(T) — registers Hash(T, Nil) for Set backing maps.
GCRY_SCAN_CAPS=1 — optional whole-program instance_sizeof scan caps (fat-app live set often unchanged).
Changed
Layout builtins: broader curated coverage — primitive/String arrays, Set-backing hashes, Hash/Array + JSON::Any, IO::Memory (noscan buffer), more Deques. Still not whole-program GCRY_AUTO_LAYOUTS.
Layout correctness:Pointer(T) noscan uses !T.has_inner_pointers? (safe for Array(JSON::Any)). Hash keys/values with inner pointers word-scanned.
Mark: size-class mismatch falls back to scan_cap when present; precise entries store instance_sizeof.
Large objects: mmap aligned to Platform.host_page_size; LARGE_CACHE_LIMIT hard-caps freelist retain.
Blacklist: page granularity uses host_page_size.
Docs: Linux vs Darwin PERF / ACIKTURKIYE split; README highlights macOS.
Performance
macOS Kemal (0.10.0 cut, Apple Silicon, median of 3, scrub off): /~97% of Boehm; /json~90%; post-GC RSS ~0.96–0.97× — see docs/PERF-macos.md.
macOS acikturkiye /api/v1/ (median of 3): thr trial-median ~80%; post-GC RSS ~11.8× (dense conservative-live; reclaim works) — see docs/ACIKTURKIYE-macos.md.
Linux Kemal / acikturkiye cut numbers unchanged from 0.9.0 (this host is Darwin; re-record on Linux before citing a new Linux cut) — docs/PERF.md, docs/ACIKTURKIYE.md.