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

Try to optimize memory footprint and performance of ListChangeBuilder

XMLWordPrintable

      The introduction of ListChangeBuilder resulted is some regressions (according to Katya's measurements):

        I created heap dump files for 10000 rectangles (using NodeMemory.Rectangle test) for 3 builds - #98, #99, #121
        and I see
        8.0-graphics-scrum-99 build creates the following extra objects:
         10,000 com.sun.javafx.collections.ListChangeBuilder
         10,000 com.sun.javafx.collections.ListChangeBuilder$SubChange[]
         10,000 com.sun.javafx.collections.ListChangeHelper$SingleChange
         10,000 com.sun.javafx.collections.TrackableObservableList$1


        This footprint increase is mostly the reason of observed runtime performance regressions:
         - up to 19% in ListView-Rotate
         - up to 13% in TableView-Mouse
         - up to 27% in TableView-MoveRows
         - up to 24% in TableView-Sort
         - up to 22/29% in TreeView-Expand
         - up to 74% in TreeView-Modify (both hw and sw)



        I looked for example at profiles for TableView-Sort (on win7-high) and I see that we had
        ~4ms GC pauses every 4 pulses in build 8.0-b56 but now we have ~5ms GC pauses every 2 pulses
        in build 8.0-b57. This explains FPS drops.

            msladecek Martin Sládeček
            msladecek Martin Sládeček
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: