ExtJS version: 4.0.7

Hi All,
I am working on an editable panel grid with an ArrayStore that can contain more then 1000-4000 rows.
Users can edit single rows using the Row Editing Plugin (that works nice), but I developed also a functionality that allows user to apply changes to all the selected data within the grid.

There are some performance problem when the selected data became large. While applying the changes looping over the selected records in the store is fast, but the Grid is refreshing terribly slow.

After some attempts I found an acceptable solution, that I would like to share with you and maybe get some advice about this topic.

1. Slower grid rendering:
Code:
var recs = grid.getSelectionModel().getSelection();
store.suspendEvents(true);
for (var i = 0; i < recs.length; i++) {
    recs[i].set(column, applyChanges());
}
store.resumeEvents();
2. More faster code :
Code:
var recs = grid.getSelectionModel().getSelection();
store.suspendEvents();
for (var i = 0; i < recs.length; i++) {
    recs[i].set(column, applyChanges());
}
store.resumeEvents();
grid.reconfigure(
    store,
    columns);
Here some simple benchmarks I've done (values in ms) with a store of 1008 records:

Selected records 1 - Calculations 1 - Grid refresh 2 - Calculations 2 - Grid refresh
31 32.35 2001.4 26.6 1755.75
144 140.6 13596.1 127.4 1793.3
288 251.5 32773.5 251.75 1857.25
504 516 73029.5 464.5 1917
1008 998 237769 925 2173



Do you think there other better solutions?

Best regards