Skip to content

perf(transaction): avoid O(n*m) fragment compares in build_manifest for Update/Delete - #8210

Merged
Xuanwo merged 1 commit into
lance-format:mainfrom
zhangyue19921010:build-manifest-hash-lookups
Aug 4, 2026
Merged

perf(transaction): avoid O(n*m) fragment compares in build_manifest for Update/Delete#8210
Xuanwo merged 1 commit into
lance-format:mainfrom
zhangyue19921010:build-manifest-hash-lookups

Conversation

@zhangyue19921010

Copy link
Copy Markdown
Contributor

Closes: #8209

@lance-gatekeeper lance-gatekeeper Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gate recommendation: approve.

The change removes the reachable quadratic scans while preserving manifest ordering, removal precedence, and the two paths’ existing duplicate-ID behavior. Keyed borrowed lookups are preferable to a sort/merge rewrite here because transaction change vectors are unordered and the current design stays linear without changing persistent formats.

@Xuanwo Xuanwo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice change, thank you!

@Xuanwo
Xuanwo merged commit 14c5f3c into lance-format:main Aug 4, 2026
40 checks passed
@zhangyue19921010

Copy link
Copy Markdown
Contributor Author

Nice change, thank you!

Thanks for your help! @Xuanwo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

O(n*m) fragment compares in build_manifest for Update/Delete

2 participants