You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
benchmark: Benchmark speed of initial display and interaction
Key Benchmarking Metrics:
Latency to initial display (of anything useful)
Latency for interaction updates (pan, zoom, or scroll/scrub). The type of interaction that we want to prioritize depends on the workflow. For a stacked timeseries viewer, either a zoom out or pan is ideal. For an imagestack viewer, scrolling/scrubbing through the frames is ideal.
Benchmarking Dimensions/Parameters:
Dataset size (e.g. for stacked timeseries, number of channels or samples; for an imagestack, number of frames or frame size)
Underlying software changes, including a specific commit/version of any relevant package. (e.g. Param 1.X vs 2.X, or before and after a bug fix to HoloViews). This is the closest thing to what ASV usually would test for over time, but now for a whole set of relevant packages and for specific cherry-picked comparisons. This would require a log/env of commit/versions used per benchmarking run.
Workflow approach employed (e.g. stacked timeseries using HoloViews downsample options: LTTB vs MinMaxLTTB vs viewport. A second example is utilizing a numpy array vs pandas df vs xarray da as the data source for a holoviews element. A third example is using hvplot vs holoviews to produce a similar output. A fourth example is using Bokeh Canvas vs WebGL rendering). This would require a manual description about the benchmarking run.
Results handling
The results of the benchmarking need to be reproducible - storing a copy of the benchmarks, info about the environment used, manual notes about the approach, info about the machine that it was run on.
The timing results need to be in a format amenable to a comparison.. (e.g. show the latency to display as a function of the number of samples for the stacked timeseries workflow when employing no downsampling vs MinMaxLTTB downsampling)
Out of scope, future stuff:
Incorporate into the CI
Put benchmarking stuff in a separate repo (it's totally fine to do that now if you want, but not expected)
Tools for Benchmarking:
Bokeh 'FigureView actual paint' messages that capture figure_id, state (start, end), and render count
Summary and Links
benchmark
: Benchmark speed of initial display and interactionKey Benchmarking Metrics:
Benchmarking Dimensions/Parameters:
Results handling
Out of scope, future stuff:
Tools for Benchmarking:
Etc
Previous version of Benchmarking Goal
The text was updated successfully, but these errors were encountered: