Repository navigation
LayerKeySort Full v4.1.0
A compatible Full 4.x minor release adopting the independently reviewed,
three-step Live Order and Snapshot/History storage optimizations. Full remains
an ordering library; application items and business identity remain caller-owned.
Changes
- Compact stable Residents: share the container-owner pointer at Block level.
On measured x64 builds, Resident metadata changes from 32 to 24 bytes;
Blocks change from 584 to 592 bytes. Resident addresses, individual reclamation,
B64/AVL behavior and allocation frequency are retained. - Compact immutable snapshots: replace each offset/size pair with one cumulative
association end (16 to 8 bytes per row on measured x64), coallocate the
header/rows/copied Namespace, and retain exact useful association capacity.
Final trimming remains fallible and precedes publication/provenance commit. - Compatible contracts: the frozen 64-function/14-type public API, stable
occurrence handles, callbacks, borrowed-item ownership and failure atomicity
remain unchanged. LS1, LKS4SNP1 and strict V3 LK1 migration retain
their published meanings and exact bytes. Restore remains resolve-first and
constructs fresh live handles. - Correct the distribution validator's implicit Windows single-config Debug
configuration. Refresh the English/Simplified Chinese entry points, technical
documentation, usage/integration guides and current release links.
Measured requested-memory examples
| Workload | Original Full 4.0.0 | Combined implementation |
|---|---|---|
| 1m residents, 16 retained snapshots, whole requested peak | 513.594 MB | 355.751 MB |
| Admitted 10m residents / 2 snapshots, Linux, whole requested peak | 1,822.185 MB | 1,317.500 MB |
These are library-requested allocator-accounting values, not process RSS or
continuous OS memory peaks. The measurements describe particular x64 workloads
and hosts. They are not a universal memory ceiling or speed guarantee.
Regressions and accepted costs
This release is not universally faster. The fresh Linux 3m random-lookup
trace was approximately 10.2% slower than original 4.0.0. A specialized
large-Namespace key-format trace was approximately 25.1% slower than Step 1.
Selected serialization, movement/churn and destruction phases also regressed.
Final association shrinking can increase requested allocation traffic for wide
payloads; request bytes are not a measurement of allocator-internal copying.
Per-Resident allocation frequency, B64 slack, independent full snapshot copies
and the 8N-byte resolve-first pointer scratch on measured x64 remain accepted
costs. Full capture is O(N + association bytes). No new allocator/comparator-
inclusive wall-clock bound, universal acceleration or arbitrary-duration reliability
claim is made. Applications dominated by the adverse workloads should assess
those costs against their own requirements.
Validation and evidence
Fresh integrated Windows/Linux research completed 1,548 native processes,
with 36 safely skipped attempts, 11,802 matching ordering checkpoints,
independent association/wire/restore oracles, long churn and severe shrink/regrowth.
Admission/runtime safeguards were retained; unsafe 10m sanitizer or high-retention
campaigns are not claimed.
Validation includes strict C17 builds, OOM/failure-atomicity sweeps (including
final Snapshot trimming), protected marker lifetime tests, frozen API/wire vectors,
seven public examples, source/FetchContent/installed C/C++ consumers and reproducible
amalgamation. The final release source passed Full, Mini and Workbench gates;
Full CI passed CTest 39/39 in every configuration: Windows MSVC x64/Win32,
Ubuntu GCC, Ubuntu Clang, Ubuntu Clang ASan/UBSan and macOS AppleClang, including
the extended sanitizer campaign where configured.
- Complete three-step integrated engineering report and raw evidence
- Full 4.1.0 record
- API
- Integration / 中文集成
- Final source:
70d7f0ef5857b54381b863d292a213909d87459f - Final main CI: https://github.com/RXY712200/LayerKeySort/actions/runs/40180346981
- Exact-source asset workflow: https://github.com/RXY712200/LayerKeySort/actions/runs/40180359704
Downloads and independent product lines
The attached LayerKeySort-4.1.0-amalgamation.zip contains the C17 public header,
implementation, example, LICENSE and README. Verify it with the attached
LayerKeySort-4.1.0-SHA256SUMS.txt. Both files were produced by the existing
release workflow and independently checked against the exact final source.
Mini remains independently published as mini-v1.0.0, unchanged. It is not
included in the Full amalgamation. Historical Full/Mini releases and tags remain
immutable. GitHub's automatic source archive contains the whole repository.