Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-2126

Libprocess Future: Improve performance, Vector instead of Queue

    XMLWordPrintableJSON

Details

    • Mesosphere Q4 Sprint 3 - 12/7

    Description

      std::queue does dynamic allocation upon construction.
      std::vector does dynamic allocation upon insertion.

      Since Future's Data structure currently aggregates 5 queues, this implies a lot of dynamic allocation upon construction of a future. In crucial paths we tend not to use most of these queues, meaning the allocations were of no benefit.

      If we replace std::queue with std::vector then we pay per use (for the first few, exponentially less as the size grows), which in most cases, and definitely in crucial paths, reduces dynamic allocation and improves performance.

      Attachments

        Activity

          People

            jvanremoortere Joris Van Remoortere
            jvanremoortere Joris Van Remoortere
            Benjamin Hindman Benjamin Hindman
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: