Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-81112

Elide cost of storing optionals by switching to Markable

    • Service Arch
    • Service Arch Prioritized List

      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

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: