  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
