tsdownsample: high-performance time series downsampling for scalable visualization

by   Jeroen Van Der Donckt, et al.

Interactive line chart visualizations greatly enhance the effective exploration of large time series. Although downsampling has emerged as a well-established approach to enable efficient interactive visualization of large datasets, it is not an inherent feature in most visualization tools. Furthermore, there is no library offering a convenient interface for high-performance implementations of prominent downsampling algorithms. To address these shortcomings, we present tsdownsample, an open-source Python package specifically designed for CPU-based, in-memory time series downsampling. Our library focuses on performance and convenient integration, offering optimized implementations of leading downsampling algorithms. We achieve this optimization by leveraging low-level SIMD instructions and multithreading capabilities in Rust. In particular, SIMD instructions were employed to optimize the argmin and argmax operations. This SIMD optimization, along with some algorithmic tricks, proved crucial in enhancing the performance of various downsampling algorithms. We evaluate the performance of tsdownsample and demonstrate its interoperability with an established visualization framework. Our performance benchmarks indicate that the algorithmic runtime of tsdownsample approximates the CPU's memory bandwidth. This work marks a significant advancement in bringing high-performance time series downsampling to the Python ecosystem, enabling scalable visualization. The open-source code can be found at https://github.com/predict-idlab/tsdownsample


page 1

page 2

page 3

page 4


PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series

PyPOTS is an open-source Python library dedicated to data mining and ana...

Dash Sylvereye: A WebGL-powered Library for Dashboard-driven Visualization of Large Street Networks

State-of-the-art open network visualization tools like Gephi, KeyLines, ...

Plotly-Resampler: Effective Visual Analytics for Large Time Series

Visual analytics is arguably the most important step in getting acquaint...

Data Point Selection for Line Chart Visualization: Methodological Assessment and Evidence-Based Guidelines

Time series visualization plays a crucial role in identifying patterns a...

PyXAB – A Python Library for 𝒳-Armed Bandit and Online Blackbox Optimization Algorithms

We introduce a Python open-source library for 𝒳-armed bandit and online ...

MinMaxLTTB: Leveraging MinMax-Preselection to Scale LTTB

Visualization plays an important role in analyzing and exploring time se...

BigDataViewer: Interactive Visualization and Image Processing for Terabyte Data Sets

The increasingly popular light sheet microscopy techniques generate very...

Please sign up or login with your details

Forgot password? Click here to reset