Open
Description
I have been playing around with your implementation of lttb and trying to compare it to other implementations (numpy and numba) and have been impressed by the speed.
But I have noticed that the algorithm does not give the same results as your other implementation in plotly_resampler
. It seems to fail around 30,000 points. Do you know if this is expected?
Looking at the above log-log plot, some extra overhead is added, around 30,000. So I'm thinking it could be because of some race condition when parallelizing the algorithm.
import numpy as np
from plotly_resampler.aggregation.algorithms.lttb_py import LTTB_core_py
from tsdownsample import MinMaxLTTBDownsampler
np.random.seed(1)
ns = [i for i in np.arange(1, 51) * 1000]
n_out = 1000
for n in ns:
x, y = np.arange(n), np.random.randn(n).cumsum()
py = LTTB_core_py.downsample(x, y, n_out)
ru = MinMaxLTTBDownsampler().downsample(x, y, n_out=n_out)
print(f"Matches with {n:>5}: {(py == ru).all()}")
Metadata
Metadata
Assignees
Labels
No labels