diff --git a/benchmarks/arrayToQPath.py b/benchmarks/arrayToQPath.py new file mode 100644 index 00000000..67fd13ee --- /dev/null +++ b/benchmarks/arrayToQPath.py @@ -0,0 +1,30 @@ +import numpy as np +import pyqtgraph as pg + +rng = np.random.default_rng(12345) + +class _TimeSuite: + params = ([10_000, 100_000, 1_000_000], ['all', 'finite', 'pairs', 'array']) + + def setup(self, nelems, connect): + self.xdata = np.arange(nelems, dtype=np.float64) + self.ydata = rng.standard_normal(nelems, dtype=np.float64) + if connect == 'array': + self.connect_array = np.ones(nelems, dtype=bool) + if self.have_nonfinite: + self.ydata[::5000] = np.nan + + def time_test(self, nelems, connect): + if connect == 'array': + connect = self.connect_array + pg.arrayToQPath(self.xdata, self.ydata, connect=connect) + +class TimeSuiteAllFinite(_TimeSuite): + def __init__(self): + super().__init__() + self.have_nonfinite = False + +class TimeSuiteWithNonFinite(_TimeSuite): + def __init__(self): + super().__init__() + self.have_nonfinite = True