[SERVER-65425] Wrap members that can be shared in PlanStageData into a single struct Created: 11/Apr/22  Updated: 25/Apr/22  Resolved: 25/Apr/22

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

Type: Improvement Priority: Major - P3
Reporter: Ruoxin Xu Assignee: Alexander Ignatyev
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Sprint: QO 2022-05-02
Participants:

 Description   

Some data members in PlanStageData can be shared among PlanStageDatas that come from the same query. Consider wrapping them into one single data struct and make it a std::shared_ptr.

Data members eligible for sharing:

debugInfo,

indexBoundsEvaluationInfos,

inputParamToSlotMap,

variableIdToSlotMap

Check here.



 Comments   
Comment by Alexander Ignatyev [ 25/Apr/22 ]

According to the microbechmarks there is no performance improvement: https://performance-analyzer.server-tig.prod.corp.mongodb.com/perf-analyzer-viz/?evergreen_version=6262ca340ae6066fc86004d6&evergreen_base_version=performance_1cb9c79cdffc6dcf4a6b30045100483f8e121a33

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