[SERVER-81112] Elide cost of storing optionals by switching to Markable Created: 15/Sep/23  Updated: 02/Nov/23  Resolved: 02/Nov/23

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

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Backlog - Service Architecture
Resolution: Duplicate Votes: 0
Labels: perf-tiger, perf-tiger-handoff, perf-tiger-triaged
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Assigned Teams:
Service Arch
Sprint: Service Arch Prioritized List
Participants:

 Description   

Optionals cause 1 bool + size of orignal type. Due to alignment needs, this can balloon to 8 bytes for 64-bit integers. Making an optional 8 byte integer take 16 bytes.

  • Add support for Markable in IDL. See https://github.com/akrzemi1/markable
  • Add a new value for fields called marked_value to indicate which value it should use as the sentinel value.
  • Add support for bool, enum and int types
  • Switch optional bools
  • Add support for types like OpTime and BSONObj potentially


 Comments   
Comment by Phoebe Du [ 02/Nov/23 ]

Turning this ticket into a project: https://jira.mongodb.org/browse/PM-3573

Comment by Sara Williamson [ 30/Oct/23 ]

mark.benvenuto@mongodb.com will write a draft scope to share, thank you mark.benvenuto@mongodb.com and jason.chan@mongodb.com! CC phoebe.du@mongodb.com

Comment by Jason Chan [ 30/Oct/23 ]

sara.williamson@mongodb.com I think that would be helpful if the Tiger team already has ideas on what the specific goals are (specifically around what performance goals and non-goals should we be basing the success of this work on), and if there is any missing context beyond the the description in this ticket.

Comment by Sara Williamson [ 27/Oct/23 ]

phoebe.du@mongodb.com jason.chan@mongodb.com do you need any help with writing a scope? CC mark.benvenuto@mongodb.com

Comment by Jason Chan [ 10/Oct/23 ]

The recommendation is to make this into a project to better identify the requirements/implementation. cc: phoebe.du@mongodb.com

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