Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-1354

Interrouter annotation processing uses slow methods

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.0
    • Fix Version/s: 1.9.0
    • Component/s: Router Node
    • Labels:
      None

      Description

      Message annotation processing on received messages stages key names byte by byte into a flat buffer and then uses strcmp to check them.

      Easy improvements are:

      • Use name in raw buffer if it does not cross a buffer boundary
      • If name crosses a boundary then use memmoves to get the name in chunks
      • Check the name prefix only once and then check variable parts of name strings
      • Don't create unnecessary qd_iterators and qd_parsed_fields
      • Don't check names whose lengths differ from the given keys

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                chug Charles E. Rolke
                Reporter:
                chug Charles E. Rolke
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: