On Sun, May 28, 2017 at 1:25 PM, Harshal Dhumal <harshal.dhu...@enterprisedb.com> wrote: > Hi, > > This commit has some performance issues with row paste functionality. > For 2K copied rows with 3 columns (2 integer and one null column) it took > near about 10 seconds to complete paste operation. And entire application > becomes unresponsive for those 10 seconds. > > This is mainly because for each single pasted row entire grid is re-rendered > ( is what I see in code). > Ideally grid should be re-rendered only once after all rows are provided to > grid. > > below code snippet from _paste_rows function > > _.each(copied_rows, function(row) { > var new_row = arr_to_object(row); > new_row.is_row_copied = true; > row = new_row; > self.temp_new_rows.push(count); > grid.onAddNewRow.notify( > {item: new_row, column: self.columns[0] , grid:grid} > ) > grid.setSelectedRows([]); > count++; > }); > > The statement > > grid.onAddNewRow.notify( > {item: new_row, column: self.columns[0] , grid:grid} > ) > > causes grid to re-render (as we listener on onAddNewRow event where we > re-render the grid)
Copying that number of rows is an extreme case of course, but still... Is there an alternative way to batch notify? -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers