Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-2224

Column/cell removal times in listbox scales quadraticly on server side

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Later Later
    • 7.0.2
    • 7.0.1
    • Databind 2
    • Security Level: Jimmy

      run the attached example and click the buttons to add and remove columns

      1.7s add 50 cols
      0.6s remove 50 cols

      2s add 100 cols
      2s remove 100 cols

      3.0s add 200 cols
      7.5s remove 200 cols

      6.1s add 400 cols
      35.6s remove 400 cols

      the column removal time increases significantly worse (roughly quadratic) than the adding time (roughly linear)

      Doing some profiling revealed ~90% of the time is spent in the method
      (org.zkoss.bind.tracker.impl.TrackerImpl.removeAllFromBeanMap() 89.707886 31391 ms (89.7%) 31391 ms)

      The source code shows some nested collection iteration, and calling removeAll with a list of items each time.
      Additionally this method is called several times.

            dennis dennis
            cor3000 cor3000
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: