tsdownsample: high-performance time series downsampling for scalable visualization

07/05/2023
by   Jeroen Van Der Donckt, et al.
0

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

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/30/2023

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...
research
05/29/2021

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, ...
research
06/17/2022

Plotly-Resampler: Effective Visual Analytics for Large Time Series

Visual analytics is arguably the most important step in getting acquaint...
research
04/03/2023

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

Time series visualization plays a crucial role in identifying patterns a...
research
03/07/2023

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

We introduce a Python open-source library for 𝒳-armed bandit and online ...
research
04/29/2023

MinMaxLTTB: Leveraging MinMax-Preselection to Scale LTTB

Visualization plays an important role in analyzing and exploring time se...
research
12/01/2014

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