perf(query-compiler): reduce parser request allocations#5822
perf(query-compiler): reduce parser request allocations#5822tensordreams wants to merge 9 commits into
Conversation
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merging this PR will improve performance by 55.28%
Performance Changes
Tip Curious why this is faster? Comment Comparing Footnotes
|
Wasm Query Compiler File Size
|
Summary
Second split-out draft from the large Prisma Client performance branch.
This PR keeps the parser/request-handler allocation reductions that are local to query request parsing and JSON protocol adaptation:
SmallVecfor parser validation pathsRelation To Larger Work
Parent status PR: #5820
Prior extracted PR: #5821
This branch is independent of the sibling Prisma runtime branch and does not need
/prisma-branch.Scope
Changed files:
query-compiler/core/src/query_document/parse_ast.rsquery-compiler/core/src/query_document/parser.rsquery-compiler/request-handlers/src/protocols/json/body.rsquery-compiler/request-handlers/src/protocols/json/protocol_adapter.rsThis PR intentionally does not include compact query-plan format changes, raw-nested read plans, or write-graph pruning.
Validation
cargo check -p query-core: passedcargo check -p request-handlers: passedcargo check -p query-compiler: passedCARGO_TARGET_DIR=/home/aqrln.guest/prisma/.tmp/parser-request-target cargo test -p query-compiler --test queries: passedThe explicit
CARGO_TARGET_DIRavoids the local/tmpquota that was hit during the first test attempt.