Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-2043

Improve performance of Message#readHeader

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Minor Minor
    • 4.0
    • None
    • None

      A CPU hot spot highlighed by profiling via JFR:

      Stack Trace	Sample Count	Percentage(%)
      java.lang.reflect.Constructor.newInstance(Object[])	71	2.392
         java.lang.Class.newInstance()	71	2.392
            org.jgroups.Message.readHeader(DataInput)	71	2.392
      

      I'd have expected the reflective constructor to perform well on a recent JVM, but apparently it's not in this case. A theory is that the Class type being unknown makes this code harder to optimise; needs to be looked into.

      It might be possible to patch the ClassConfigurator to provide instances of the required Header type rather than returning the class, and optimise that instead.

              rhn-engineering-bban Bela Ban
              sgrinove Sanne Grinovero (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: