Вот как работает мой код:
- пользователь вводит некоторые параметры и запускает очень дорогой расчет
результат этого вычисления выглядит как очень большой массив например: [{"step":1, ...}, ... {"step":50000, ...}]
один шаг может отображаться на экране за раз (есть кнопка для перехода к шагу x)
Вот примерно так:
- Я помещаю результат вычисления в Store (id = «result»).
- Я создаю обратный вызов, который работает примерно так:
@app.callback(Output("display", "children"), Output("result", "data"), [Input("jump-to-step-x-btn", "value")], [State("result", "data")])
def foo(step, result):
if ...:
result = ... # possibly update the array
return result[step], result
Моя проблема в том, что, поскольку массив очень большой (почти 500000 символов), он немного отстает (примерно 0,5 сек c), когда пользователь пытается перейти к другой шаг.
Я предполагаю, что это потому, что массив должен быть отправлен, а затем извлечен с сервера.
Любой совет, что было бы хорошим способом исправить эту проблему?
Большое спасибо и хорошей недели.