This PR speeds up the dashboard results page's UX.
Previously when the user selected an experiment, the page would reload all FigureRecords for all selected experiments from disk. This meant that the more experiments were selected, the longer it took to re-render the plot tabs, up to several seconds per experiment.
This PR introduces caching of the FigureRecords in memory. This reduces the time to re-render plot tabs significantly as it makes it proportional to the number of figures for the experiment newly selected (instead of all figures for all experiments selected).
The PR also adds a spinner that spins while the plot tabs box is reloading.
⚠ Known issue: Cached FigureRecords are not removed from server memory and may accumulate. To clear from memory, a server restart is required.
This PR speeds up the dashboard results page's UX.
Previously when the user selected an experiment, the page would reload all
FigureRecord
s for all selected experiments from disk. This meant that the more experiments were selected, the longer it took to re-render the plot tabs, up to several seconds per experiment.This PR introduces caching of the
FigureRecord
s in memory. This reduces the time to re-render plot tabs significantly as it makes it proportional to the number of figures for the experiment newly selected (instead of all figures for all experiments selected).The PR also adds a spinner that spins while the plot tabs box is reloading.
⚠ Known issue: Cached
FigureRecord
s are not removed from server memory and may accumulate. To clear from memory, a server restart is required.