Skip to content

Add opt-in FailFast processor for object field errors - #744

Merged
liuzicheng1987 merged 1 commit into
munich-data-engineering:mainfrom
Altren:feature/fail-fast-processor
Oct 18, 2026
Merged

liuzicheng1987 merged 1 commit into
munich-data-engineering:mainfrom
Altren:feature/fail-fast-processor

Conversation

@Altren

@Altren Altren commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

EDIT: Turned out that main performance gains are applicable in top of #743 , and without it the gain is small. And overall default non-FailFast version is slower with GCC+noLTO

Add an opt-in rfl::FailFast processor for callers that only need the first object-field error. It skips decoding later fields of that object after a failure, including nested structs and named tuples, while retaining cleanup of already-constructed fields.

Together with #743 FailFast option makes YAS reader 2x faster and much closer to raw serialization implementation without reflect-cpp. This change unlocks more agressive compiler optimizationf for both no-LTO and LTO builds.

@liuzicheng1987

Copy link
Copy Markdown
Collaborator

@Altren OK, this one looks good to me. I will merge it. Thank you for the contribution.

@liuzicheng1987
liuzicheng1987 merged commit a0ab524 into munich-data-engineering:main Oct 18, 2026
176 checks passed
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.

2 participants