summaryrefslogtreecommitdiff
path: root/benchmarks/benchmarks/bench_trim_zeros.py
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/benchmarks/bench_trim_zeros.py')
-rw-r--r--benchmarks/benchmarks/bench_trim_zeros.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/benchmarks/benchmarks/bench_trim_zeros.py b/benchmarks/benchmarks/bench_trim_zeros.py
new file mode 100644
index 000000000..4e25a8b02
--- /dev/null
+++ b/benchmarks/benchmarks/bench_trim_zeros.py
@@ -0,0 +1,27 @@
+from .common import Benchmark
+
+import numpy as np
+
+_FLOAT = np.dtype('float64')
+_COMPLEX = np.dtype('complex128')
+_INT = np.dtype('int64')
+_BOOL = np.dtype('bool')
+
+
+class TrimZeros(Benchmark):
+ param_names = ["dtype", "size"]
+ params = [
+ [_INT, _FLOAT, _COMPLEX, _BOOL],
+ [3000, 30_000, 300_000]
+ ]
+
+ def setup(self, dtype, size):
+ n = size // 3
+ self.array = np.hstack([
+ np.zeros(n),
+ np.random.uniform(size=n),
+ np.zeros(n),
+ ]).astype(dtype)
+
+ def time_trim_zeros(self, dtype, size):
+ np.trim_zeros(self.array)