Skip to content

perf(table): resolve only requested equality-delete field paths - #1957

Open
fallintoplace wants to merge 1 commit into
apache:mainfrom
fallintoplace:perf/resolve-equality-delete-field-paths
Open

perf(table): resolve only requested equality-delete field paths#1957
fallintoplace wants to merge 1 commit into
apache:mainfrom
fallintoplace:perf/resolve-equality-delete-field-paths

Conversation

@fallintoplace

Copy link
Copy Markdown
Contributor

Summary

  • Resolve less: Equality-delete setup now resolves only field IDs from the active delete sets.
  • Reuse traversal state: Internal schema fields are borrowed for the read-only walk, and only matching paths are copied.
  • Keep validation: Existing nested paths and ambiguous-column errors remain covered.

Benchmark

Apple M1 Pro, Go 1.26.3, 2,048-field schema:

  • 1 equality field: about 586 KB / 4,128 allocs to 672 B / 7 allocs
  • 8 equality fields: about 586 KB / 4,128 allocs to 896 B / 21 allocs
  • 1-field setup time: about 280 us to 10 us

Tests

  • go test -timeout=5m across all packages except io/gocloud
  • go test -race -timeout=5m . ./table/...
  • golangci-lint run --timeout=10m

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant