1 Reply Latest reply on Jun 20, 2011 12:24 PM by gonzalad

    extendedDataTable performance in RF 3.3.3 : generated HTML size

    gonzalad

      Hello,

       

      Performance problems with extendedDataTable are wel known for RF 3.3.3 :

       

      Here are some of my experimentation.

      Main problem is due to generated HTML size.

       

      I've created a sample application showing 2 lists (rich:extendedDataTable and rich:dataTable) with 121 lines and 7 columns (something like - but not exactly the RF 4 showcase here : http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=extendedDataTable&sample=exTableSelection&skin=blueSky).

       

      I'm measuring HTML generated by ajax reRendering for rich:dataTable and rich:extendedDataTable.

      Those are really rough numbers but it can help to give a basic idea.

       

      || TestCase || 121 lines / 7 columns || ko per line ||

      |RF 3 rich:dataTable|96 ko|0.79 ko|

      |RF 3 rich:extendedDataTable|286 ko|2.36 ko|

      |RF 3 rich:extendedDataTable with contextmenu disabled|137 ko|1.1 ko|

      |RF 4 rich:extendedDataTable|108 ko|0.89 ko|

       

      RF 4 rich:extendedDataTable measured from RF showcase sample.

        • 1. Re: extendedDataTable performance in RF 3.3.3 : generated HTML size
          gonzalad

          Just made a quick test with JMeter.

           

          Here are the results (50 lines / 18 columns / 10 threads no think time) :

          ||TestCase || throughput (tx/s) || ko/s || time ms(medium) ||

          |RF 3.x rich:dataTable | 13.25 | 1086 | 745 |

          |RF 3.x rich:extendedDataTable | 3.55 | 1952 | 2790 |

          |RF 3.x rich:extendedDataTable contextMenu is disabled | 21.89 | 3657 | 436 |

          |RF 3.x rich:dataTable without rendered on each column | 19.10 | 1565 | 518 |

           

          RF 3.x rich:dataTable TestCase uses (see attached dataTable.jspx for code) :

          • rendered attribute on each column
          • displays custom sort links on each column header.

           

          RF 3.x rich:extendedDataTable uses for these two function built-in functionnality (see extendedDataTable.jspx for code).