Loading ...
Sorry, an error occurred while loading the content.

Re: [ydn-javascript] Max rows in YUI Datatble - performance

Expand Messages
  • Satyam
    ... The combination of the phrase quick eyeball checks on financial data and the current economic crisis deserve some kind of joke, but my wits and my
    Message 1 of 2 , Dec 4, 2008
    • 0 Attachment
      Avanti.Save wrote:
      > Hi
      >
      > I am usnig the datatable to display around 300 rows of data. We dont really
      > want to use Pagination. The reason for not using pagination is that a single
      > table is useful for quick eyeball checks on financial data.
      >
      The combination of the phrase "quick eyeball checks on financial data"
      and the current economic crisis deserve some kind of joke, but my wits
      and my English falter.

      > Is there any way that i can make the performance better by using no
      > pagination for a huge datatable? Is there any other component that can be
      > used? I was told if i send the HTML snippet of the table to the client that
      > might reduce time taken to render. My app is interactive and allows the user
      > to change numbers to recalculate row and refresh the data.
      >
      Not really, pagination is actually the most effective way of speeding
      things up, but if that is out of the question, then you are left with
      very little. Configuration attribute renderLoopSize might improve the
      perception of speed. It really doesn't work with any setting less than
      100 so, for 300 records, the DataTable is rendered in three batches of
      100 rows each. The total rendering time is actually higher, but at each
      break, the UI becomes responsive so you avoid the feeling of the UI
      being dead.

      You could try cutting down on the number of columns. You might put
      auxiliary information in tooltips by using column formatters and setting
      the 'title' attribute to that auxiliary information, or you could use
      YUI's own Tooltip, which offers more layout options, see:

      http://www.satyam.com.ar/yui/2.6.0/tooltips.html

      The HTML suggestion is not a good one. The DataTable uses none of the
      original HTML in the table. The DataSource will read all the values
      from the initial HTML table and put them in an array of objects which
      will then pass to the DataTable which wipes out the existing HTML table
      and builds one anew. Reading the values from the HTML table is the
      slowest. The fastest is JSON.

      Another important factor is the browser used. IE is notoriously slow,
      you could do much better with almost any other browser out there. The
      biggest delay in the DataTable is the creation of all the DOM objects
      (table, rows and cells) that make it up. IE is particularly bad on
      that. If it is an internal application and you have a saying in browser
      users have, go for anything but IE (and I'm not a Mac user, I'm not
      against Microsoft on principle). Transmission time is not significant
      with any reasonable bandwidth.

      And also use YSlow which is a Firebug/Firefox add on and follow its
      recommendations.

      Satyam

      > Appreciate any comments
      >
      > Thanks
      >
      > Cheers
      > Avanti
      >
      > ------------------------------------------------------------------------
      >
      >
      > No virus found in this incoming message.
      > Checked by AVG - http://www.avg.com
      > Version: 8.0.176 / Virus Database: 270.9.13/1826 - Release Date: 03/12/2008 9:34
      >
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.