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 -~----------~----~----~----~------~----~------~--~---