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

[Java] Performance Improvements

    XMLWordPrintableJSON

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

            robbie Robbie Gemmell
            rgodfrey Robert Godfrey
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: