Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3714

[Java] Performance Improvements

    Details

      Description

      Assorted performance improvements for the Java Broker and Client based on profiling and a bit of common sense:

      Persistence:

      Store message in same transaction as enqueue if possible

      Memory:

      Remove unnecessary (un)boxing
      Reduce unnecessary copying of message data
      Cache short strings
      Cache queues for a given routing key on an Exchange
      (0-9) Use a fixed size buffer for preparing frames to write out

      Other:

      Reduce calls to System.currentTimeMillis
      Cache publishing access control queries

      (0-10) Special case immutable RangeSets, in particular RangeSets of a single range/point
      (0-10) Special case delivery properties and message properties in headers
      (0-9) send commit-ok as soon as data committed to store
      (0-9) Optimised long and int typed values for FieldTables
      (0-9) Retain FieldTable encoded form
      (0-9) Cache queue and topic destinations

        Attachments

          Activity

            People

            • Assignee:
              gemmellr Robbie Gemmell
              Reporter:
              rgodfrey Rob Godfrey
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: