Hello Nick,

Exactly the same issue was in our app. We need to display big lists
(100 - 500) records, and FlexTable seems not solution for this.

The problem is that FlexTable always checks table bounds (row number,
column number) and when you put some value in FlexTable it performs
checking for bounds, moreover it not store the colnum and rownum in
some variables, but always calculate them dynamically. Moreover it
dynamocally adds new rows.
Thats why it becomes slower when number of rows increase.

We had decided to use Grid rather then FlexTable. We can specify Grid
bounds right after creation, and while we put data in cells in the
cycle its performance remains the same for different grid size (here I
mean speed of adding row).

But it also has it's disadvantages. When we need to display another
data in the same Grid, and this data has different number of rows,
we should call Grod.resize(int, int). And for
big grids, this operation is very slow in IE (in our tests resizing
grid with 200 rows, 5 columns, takes ~13000 ms in IE).

So It seems paging here the only solution.

Tuesday, February 17, 2009, 6:40:51 PM, you wrote:

> Ok, I did some more testing and I was wrong.  It's not the inserting
> and removing from lists that are the bottleneck.  I moved the time and
> log statements around and it had to do with adding to the FlexTable
> itself.

> I'm using code like:
> int row = 1;
> for (Iterator<MyData> iter = eventList.iterator(); iter.hasNext(); row+
> +) {
>   long sysTime = System.currentTimeMillis();
>   int column = 0;
>   MyData event = (MyData)iter.next();

>   table.setText(row, column, event.getNameLast());
>   column++;

>   table.setText(row, column, event.getNameFirst());
>   column++;

>   table.setText(row, column, event.getJob());
>   column++;

>   GWT.log("update time 4: "+(System.currentTimeMillis()-sysTime)+"ms
> ", null);
> }

> Now, you can see I'm logging the time after every row is inserted.
> The odd thing I'm seeing is that the time per row increase as rows are
> traversed.  For example, row 1 takes about 30ms but as the rows
> traverse by row 100 each row is taking about 150ms.  It's a steady
> increase.
> Any insights?
> 


-- 
Best regards,
 Alexey_Tsiunchik                            mailto:alexey.tsiunc...@gmail.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to