Perspective › Examples
Benchmarks — Python by release
Y Line chart of Time (ms), grouped by version, split by benchmark, filtered to outlier == false, sorted by version_idx, with 1 computed expression column.
Mean time of each Python benchmark case across every published Perspective release.

Data
Perspective's own benchmark results for perspective-python — the native engine, driven from a Node.js client over WebSocket — as published with each GitHub release: every timed iteration of table construction, streaming updates, pivots, expressions, joins and serialization over the Superstore dataset, for the current and prior releases, measured by CI on a GitHub Actions ubuntu-22.04 runner.
Loaded from /data/benchmark-python.arrow as arrow into the perspective-server engine.
Configuration
This example is a saved <perspective-viewer> workspace. Pass this JSON to viewer.restoreWorkspace() to reproduce it over the same table:
{
"layout": {
"type": "tab-layout",
"tabs": [
"p0"
],
"selected": 0
},
"panels": {
"p0": {
"table": "",
"title": "Time by release",
"plugin": "Y Line",
"group_by": [
"version"
],
"split_by": [
"benchmark"
],
"columns": [
"Time (ms)"
],
"expressions": {
"Time (ms)": "\"real_time\" / 1000"
},
"aggregates": {
"Time (ms)": "avg",
"version_idx": "avg"
},
"filter": [
[
"outlier",
"==",
false
]
],
"sort": [
[
"version_idx",
"desc"
]
]
}
},
"active": "p0"
}
About Perspective
Perspective is an open-source, WebAssembly-powered data grid, pivot table and charting component for large, real-time and streaming datasets — in the browser, Python, Jupyter, Node.js and Rust.
Documentation