Scripts to benchmark Vega's performance.
Average performance of rendering (non-interactive) streaming visualizations: (top-bottom) scatterplot, parallel coordinates, and trellis plot; (left-right) initialization time, average frame time, and average frame rate. Dashed lines indicate the threshold of interactive updates.
Average frame rates for three interactive visualizations: (left-right) brushing and linking on a scatterplot matrix; brushing and linking on an overview+detail visualization; panning and zooming on a scatterplot. Dashed lines indicate the threshold of interactive updates.
Usage: ./index.js <visualization> [options]
Options:
--benchmark Benchmark operation to run. [string] [required]
--renderer Vega renderer (canvas or svg). [string] [default: "canvas"]
-R Number of repetitions to perform. [default: 10]
-N Number of data tuples. [default: 100]
-C Number of data categories. [default: 50]
-P % of data tuples to stream. [default: 0.01]
--help Show help [boolean]
-
Run
npm install
in the benchmarks directory, and thennpm start
. -
Individual benchmarks can be run via the
index.js
script. See usage help text above. -
Benchmark suites, as reported in the paper, are available via the
streaming.sh
andinteraction.sh
bash scripts. -
Results concatenated against existing results found in the
results/raw
folder. By default, we included the results reported in the paper. Clearing these results will generate new files instead. -
A script to summarize raw results is provided for convenience (
scripts/summary.js
).