Slow/Stuttering DataTable

Bokeh 2.3.1, Google Chrome Version 89.0.4389.128

Hi, I noticed, that the Bokeh-DataTable is not quite as performant as the underlying implementation of slickgrid, especially when scrolling up and down furiously.
While this is not a surprise I’m still hoping for a way to make it feel smoother.

I’m not modifying the DT at any point, I just want to listen for (row-)selections in the bokeh server; any suggestions?

example:

from bokeh.io import show
from bokeh.models import TableColumn, DataTable, ColumnDataSource

headers = [str(i) for i in range(25)]
DATA_POINT_COUNT = 5000

columns = [TableColumn(field=h) for h in headers]
data = {c.field: [i for i in range(DATA_POINT_COUNT)] for c in columns}
d = DataTable(columns=columns, source=ColumnDataSource(data=data), width=800, height=800)

show(d)

@kaprisonne Please always include version information

1 Like

You’re right; I added them.

@kaprisonne can you try with 2.2.x and compare? There have been various performance regressions with 2.3 release so it would be good to determine first whether this is a new occurrence with 2.3 or not.

@Bryan The stuttering behaviour existed at 2.2.0.
2.2.0 doesn’t feel better nor do the performance stats (from Chrome’s performance tab) look better.

Well that’s probably the worse outcome, then. I don’t have any offhand suggestions or information, it seems like something that would require some fairly detailed investigation to see where any improvements might be made. A GitHub Issue would be appropriate to keep track of it for the future.

Related issue: