Skip to content

Reconcile chunked-64 packing (PR #225) with #234 single-run packing #240

Open

Description

@m-hu

PR #225 lands chunked-64 packed int vectors (PACKED_CHUNK=64, frozen chunks in an rpds spine + tail), replacing the MAX_PACKED_LEN=1024 single-run packing from #234 (including re-pinned cap tests).

Rationale for landing chunked first: O(1) persistent conj/assoc/pop at any size with ~8B/elem density, vs cap-then-generic-fallback; verified by the PR's 23/23 head-to-head wins vs JVM Clojure and the full suite at 100% line coverage.

Follow-up work:

  1. Run Cap packed Int runs at 1024 to fix #227 case regressions #234's quadratic-chain workloads plus the Attack RS slow legs: pooled recur, string fast paths, shape cadence (#235) #238 proxies (boyer/suffix/segment) against chunked-64 packing and compare with the Cap packed Int runs at 1024 to fix #227 case regressions #234 numbers.
  2. Decide the single long-term design: keep chunked, adopt Cap packed Int runs at 1024 to fix #227 case regressions #234's single-run, or unify (e.g. chunked storage with Cap packed Int runs at 1024 to fix #227 case regressions #234-style promotion policy).
  3. Unify or explicitly retire the losing variant's tests/docs.

Raised in PR #225 round-1 review (michael-h-hu).

Activity

  1. added a commit that references this issue on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions