Skip to content

LayerKeySort v3.0.0-preview.4

Pre-release
Pre-release

Choose a tag to compare

@RXY712200 RXY712200 released this 02 Oct 07:01

LayerKeySort v3.0.0-preview.4

Preview.4 is an experimental V3 user-experience and integration snapshot. It builds on Preview.3 without changing the ordering algorithm. Stable v2.0.0 remains the recommended release for normal use.

Purpose and changes

  • Puts a minimal managed-Tree Quick Start near the start of the README. The new public-header-only example creates a Tree, inserts caller-owned items, queries, removes, and cleans up.
  • Explains when to choose comparator-managed LksOrderedTree, manual-coordinate LksTree, or an ordinary sort.
  • Documents add_subdirectory, FetchContent, and direct C17 source integration, plus the V2-to-V3 API change.
  • Captures the earlier one-machine Preview.3 validation matrix for 100,000 to 1,000,000 managed insertions, with raw timed rows, relabel diagnostics, methodology, and explicit measurement limits. It records slow alternating and duplicate-heavy behavior rather than claiming a universal improvement.
  • Adds the managed example to CMake, Visual Studio project metadata, and cross-platform CI example runs.

The public function set remains 59; Path and LK1 v1 bytes are unchanged.

Validation

The implementation commit e5c8adbdba2ff5068304d2b298d3b98ce25f0ef3 passed strict GCC C17 and MSVC Debug testing locally, including CTest 7/7, examples, and public-header consumers. add_subdirectory, local and remote FetchContent, and standalone linkage were exercised. The publication-state commit c3376b2a437247cf8053b7707a8c6aa97cc9ac3c passed all five GitHub Actions C17 jobs: CI run.

Known limitations

  • Adaptive relabel can update many Paths in one insertion. In the captured one-machine validation, the 1,000,000-item alternating pattern took about 44 seconds overall and had individual pauses above 700 ms. This is workload evidence, not a general latency prediction.
  • No worst-case O(log n) complete-insertion or formal amortized guarantee is claimed. Path size and memory may grow with workload.
  • LK1 persists one mutable ordering coordinate, not a Tree, item payload, or permanent item ID.
  • The V3 API and private heuristics remain experimental; Preview.4 is not production-ready or stable V3.

Tag target: c3376b2a437247cf8053b7707a8c6aa97cc9ac3c.