Skip to content

Reduce flatten allocations for subobjects:false#151815

Draft
martijnvg wants to merge 1 commit into
elastic:mainfrom
martijnvg:disabled-subobjects-parse-optimizations
Draft

Reduce flatten allocations for subobjects:false#151815
martijnvg wants to merge 1 commit into
elastic:mainfrom
martijnvg:disabled-subobjects-parse-optimizations

Conversation

@martijnvg

Copy link
Copy Markdown
Member

Each intermediate JSON object parsed under subobjects:false previously allocated a FlatteningXContentParser and an anonymous Wrapper to prepend the parent field name to child token names. Thread a String flatPrefix through innerParseObject instead, eliminating two heap allocations per intermediate object on the flatten path.

Each intermediate JSON object parsed under subobjects:false previously
allocated a FlatteningXContentParser and an anonymous Wrapper to prepend
the parent field name to child token names. Thread a String flatPrefix
through innerParseObject instead, eliminating two heap allocations per
intermediate object on the flatten path.
@martijnvg

Copy link
Copy Markdown
Member Author

Buildkite benchmark this with elastic-logs-logsdb-columnar

@elasticmachine

Copy link
Copy Markdown
Collaborator

⏳ Build in-progress

This build attempts two elastic-logs-logsdb-columnar benchmarks to evaluate performance impact of this PR. To estimate benchmark completion time inspect previous nightly runs here.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants