Hi, i’m relatively new to the library and trying to get tables to update via streams. It seems to work at first but progressively slows down and halts. Here is a reproducible example that slows down after 30s-1min on my computer:
import holoviews as hv
import panel as pn
import pandas as pd
from holoviews.streams import Pipe
from tornado.ioloop import PeriodicCallback
renderer = hv.renderer('bokeh')
class Dashboard():
def __init__(self):
self.buffer = Pipe(data={})
def update_data(self):
df = pd.util.testing.makeDataFrame()
self.buffer.send(df)
def start(self):
callback = PeriodicCallback(self.update_data, 50)
callback.start()
table = hv.DynamicMap(hv.Table, streams=[self.buffer])
pn.serve(table)
d = Dashboard()
d.start()
I initially thought the callback was called to frequently but I also get the problem on my full dashboard for a callback period of 1000ms while other plots can handle 10ms/50ms with much more data.
Thanks for any suggestions on how I can fix this!
Panel: 0.11.0a8
Holoviews: 1.14.1
Pandas: 1.2.0
Tornado: 6.1