Skip to content

perf: optimize indexed batch iterators without range deletions #1709

@jbowens

Description

@jbowens

In e32e94d the semantics of iterators over indexed batches were modified to be more consistent and to allow refreshing an Iterator's view of its indexed batch range deletions and range keys.

Now when a batch has no range deletions, the Iterator still includes a keyspan.Iter for the batch into the iterator. This keyspan.Iter serves as a container that may be filled with range deletions when the Iterator's view of the batch is refreshed. This has a noticeable effect iterator performance, showing up on the CockroachDB repo's MVCCGet benchmarks.

Relevant 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