1. ICEfaces
  2. ICE-11155

Performance analysis of radioButton and checkboxButton in dataTable and ui:repeat


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0, EE-4.1.0.GA
    • Fix Version/s: 4.2.BETA, 4.2
    • Component/s: ACE-Components
    • Labels:
    • Environment:
      jsf2 virtualVM, Google Chrome profiler
    • Assignee Priority:


      both checkboxButton and radioButton have 4 script tags.
      one for init, one for renderRest and the same script for onfocus and onhover.

      Decided to look at this in a vm profiler (used virtualVM) and the js profiler (used Google Chrome). Attaching the screenshots for these.

      Currently showcase has buttonGroup examples which show the buttons in columns of a dataTable as well as in rows for ui:repeat.
      these examples (now) show the ability to change the number of rows. Initially the number of rows is set to 10, but you can increase to 100, 500 and 1000. These screenshots show the results of 1000 for virtual-vm and the js console shows the example for by row (using ui:repeat) as it doesn't use the dataTable which may also show some performance lag.
      for example, the by row example is at showcase (myIP):-

      ALSO...if js is the issue--js could only toggle off the previously selected button instead of all the other buttons... (500 rows in dataTable takes about 5 seconds but only has 2 radioButtons and 2 checkboxButtons per row). 500 rows in row example takes about 8seconds but has 3 radioButtons and 3 checkboxButtons per row.
      1. buttonGroupByRow 1000 rows.png
        820 kB
      2. non-optimized.png
        271 kB
      3. optimized.png
        277 kB
      4. profiling js.png
        502 kB
      5. Screen Shot showcase buttonGroup 1000 rows CPU Column.png
        537 kB



          • Assignee:
            Mircea Toma
            Judy Guglielmin
          • Votes:
            0 Vote for this issue
            5 Start watching this issue


            • Created: