Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8123121

8.0-controls-scrum-740: up to 40% footprint regression in NodeMemory.TableColumn benchmark

XMLWordPrintable

      The number of TableColumn objects we are able to create and render using predefined heap size
      decreased from 1870 to 1520 objects on WindowsXP in promoted build 8.0-b106.
      This regression was introduced in build 8.0-controls-scrum-740 which contains the following changes:
        1. Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt (detail)
        2. RT-32559: TableView: replaced columns disappear (detail)


      The difference between memory heap dumps for 1000 TableColumn objects for builds 739 and 740 is:
      Class Name | Objects | Shallow Heap
      --------------------------------------------------------------------------------------------
      java.lang.Object[] | +14 007 | +1 120 240
      java.util.HashMap$Entry | +39 017 | +936 408
      java.util.HashMap | +7 002 | +336 096
      com.sun.javafx.binding.ExpressionHelper$SingleChange | +14 000 | +336 000
      com.sun.javafx.scene.control.skin.LabeledText | +1 000 | +312 000
      com.sun.javafx.css.PseudoClassState | +19 015 | +304 240
      com.sun.javafx.geom.RectBounds | +11 000 | +264 000
      com.sun.javafx.css.CalculatedValue | +9 009 | +216 216
      com.sun.javafx.binding.ExpressionHelper$Generic | +5 000 | +200 000
      java.lang.ref.WeakReference | +7 164 | +171 936
      com.sun.javafx.event.CompositeEventHandler | +7 000 | +168 000
      com.sun.javafx.sg.prism.NGText | +1 000 | +152 000
      java.util.ArrayList | +6 004 | +144 096
      com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord| +6 000 | +144 000
      int[] | +4 013 | +128 336
      com.sun.javafx.geom.transform.Affine3D | +1 000 | +120 000
      java.util.Set[] | +3 003 | +104 104
      long[] | +4 003 | +96 072
      com.sun.javafx.scene.control.skin.LabelSkin | +1 000 | +96 000
      com.sun.javafx.binding.ExpressionHelper$SingleInvalidation | +6 000 | +96 000
      javafx.scene.CssStyleHelper$CacheContainer | +3 000 | +96 000
      javafx.geometry.BoundingBox | +1 000 | +88 000
      com.sun.javafx.text.TextRun | +1 000 | +88 000
      java.lang.Double | +5 001 | +80 016
      javafx.beans.InvalidationListener[] | +5 000 | +80 000
      javafx.beans.value.ChangeListener[] | +5 000 | +80 000
      ...
      --------------------------------------------------------------------------------------------



      Steps to run NodeMemory.TableColumn benchmark:
      > cd JFX_WS/tests/performance/NodeMemory/
      > ant
      > java -Xms64m -Xmx64m
             -cp "JFX_HOME/rt/lib/jfxrt.jar;./dist/NodeMemory.jar"
             nodememory.TableColumnTest -render true -allocCnt 10

            jgiles Jonathan Giles
            epavlova Ekaterina Pavlova
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: