3 Replies Latest reply on May 5, 2010 5:46 AM by ilya_shaikovsky

    extendedDataTable performance

    jonmoores

      Hi,

      I have a demo project with a data table and 600 rows. Even running on the local machine the rendering of the 600 rows in the table is slow. Is there a general indicator on how much data the table can handle comfortably?

       

      I dont think I am doing any thing stupid but you never know. I followed the livedemo examples / RF src demos so I cant see anything bad.

      Attached is the project (trades.xhtml).

      Thanks

      Jon

        • 1. Re: extendedDataTable performance
          ilya_shaikovsky

          encoding 600 rows to the client side (extendedTable encodes all if rows not defined) will not works fast any way.. so general suggestions:

           

          for extendedDataTable:

          • you could add pagination with datascroller and define model properly as shown at demosite to iterate only over actual page data.
          • avoid to use rich inputs in columns where possible. it will results in massive JS objects initialization. Use shared instances instead.
          • turn off the menu if not really need. Also will improve performance espesially if you have many columns,

           

          if you have to use just scroll but not paggination with datascroller - I could advise to try scrollableDataTable instead - it not just encodes rows to client but provides ajax lazy loading using scrolling.

          • 2. Re: extendedDataTable performance
            jonmoores

            Hi,

            1) is something I can discuss with end user I guess.

             

            2) I am using 2 a4j:commandLinks per row to show Edit / Delete modal dialogues both with 2  f:setPropertyActionListener (one for rowIndex and one for current item). How would I replace those with shared objects?

             

            3) An important part of the use case is filtering and grouping of data. (also takes away the scrollabletable option I think)

            Ta

            Jon

            • 3. Re: extendedDataTable performance
              ilya_shaikovsky

              Yup.. seems scrollable is not an option for you. So then add paggination if this suitable in your case - this will save a lot of rendering time. And

              2) I am using 2 a4j:commandLinks per row to show Edit / Delete modal dialogues both with 2  f:setPropertyActionListener (one for rowIndex and one for current item). How would I replace those with shared objects?

              this is fine in general if you for example using single modal panel outside the dataTable which is used for editing and not placing it to column for example . If you using conditional rendering of output/inputs inside column and switching between them after clicking edit - read those articles on such use case optimization:

              http://www.jsfcentral.com/articles/speed_up_your_jsf_app_1.html

              http://www.jsfcentral.com/articles/speed_up_your_jsf_app_2.html