Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-2957

Consider adding an option to disable all alignment specifiers

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: libbson
    • Labels:
      None

      Despite -DENABLE_EXTRA_ALIGNMENT=OFF being a general improvement over our default large alignment specifiers (bson_t aligned at 128 bytes), users still run into issues with the alignment specifiers (e.g. CDRIVER-2880).

      It seems tricky to get the alignment specifiers right in all situations. And I'm doubtful that we get any measurable performance improvements by changing alignment.

      I think we should:

      • Run an experiment (perhaps with our benchmark suite) to see if turning off alignment entirely results in any performance drop.
      • If not, let's add a cmake option, like DISABLE_ALIGNMENT that removes alignment specifiers entirely.
      • Document that users should configure with this option.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: