[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 |
| 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 |