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

Use better data structure instead of deque for tasks in ServiceExecutorSynchronous

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Service Arch

    Description

      The ServiceExecutorSynchronous uses a deque for its queue of tasks. This means that every 4k bytes-worth of insertions we'll need to allocate another 4k bytes. This is unnecessary since that queue should usually be very small (and maybe max size of 1?) so we'd be better off with a circular buffer or possibly some other data structure. I'd be interested to see whether changing that helped with performance and if so making the change.

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            matthew.saltz@mongodb.com Matthew Saltz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: