[SERVER-85795] ProjectReadStage native C++ implementation Created: 26/Jan/24  Updated: 27/Jan/24

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Kevin Cherkauer Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

ProjectReadStage half of this proposal, discussed in the 2024-01-26 SBE Sync meeting:

kevin.cherkauer@mongodb.com: $project performance: 

  • Observation: a large portion of $projects are either just reading or writing fields from/to documents. What if we split the SBE $project stage implementation into three stage types:
  • ProjectReadStage (native C++) – reads a set of fields (including dotted paths) from an input document into slots
  • ProjectWriteStage (native C++) – writes a set of fields (including dotted paths) from slots into an output document
  • ProjectStage (EExpressions in the VM) – everything else

Generated at Thu Feb 08 06:58:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.