|
1 |
| -from asv_samples.benchme import add_arr |
| 1 | +import numpy as np |
| 2 | +from asv_runner.benchmarks.mark import parameterize, SkipNotImplemented |
| 3 | +from asv_samples.benchme import NUMPY_AVAILABLE |
2 | 4 |
|
| 5 | +if not NUMPY_AVAILABLE: |
| 6 | + raise SkipNotImplemented("Can't run without NumPy") |
3 | 7 |
|
4 |
| -class TimeSuite: |
5 |
| - """ |
6 |
| - Benchmark that times various operations, including custom summation of |
7 |
| - lists. |
8 |
| - """ |
| 8 | +@parameterize({"n":[10, 100]}) |
| 9 | +def time_sort(n): |
| 10 | + np.sort(np.random.rand(n)) |
9 | 11 |
|
10 |
| - def setup(self): |
11 |
| - self.list1 = [i for i in range(500)] |
12 |
| - self.list2 = [i for i in range(500, 1000)] |
| 12 | +@parameterize({'n': [10, 100], 'func_name': ['range', 'arange']}) |
| 13 | +def time_ranges_multi(n, func_name): |
| 14 | + f = {'range': range, 'arange': np.arange}[func_name] |
| 15 | + for i in f(n): |
| 16 | + pass |
13 | 17 |
|
14 |
| - def time_add_arr(self): |
15 |
| - """ |
16 |
| - Time the add_arr function with two lists of numbers. |
17 |
| - """ |
18 |
| - add_arr(self.list1, self.list2) |
| 18 | +@parameterize({"size": [10, 100, 200]}) |
| 19 | +class TimeSuiteDecoratorSingle: |
| 20 | + def setup(self, size): |
| 21 | + self.d = {} |
| 22 | + for x in range(size): |
| 23 | + self.d[x] = None |
| 24 | + |
| 25 | + def time_keys(self, size): |
| 26 | + for key in self.d.keys(): |
| 27 | + pass |
| 28 | + |
| 29 | + def time_values(self, size): |
| 30 | + for value in self.d.values(): |
| 31 | + pass |
| 32 | + |
| 33 | +@parameterize({'n': [10, 100], 'func_name': ['range', 'arange']}) |
| 34 | +class TimeSuiteMultiDecorator: |
| 35 | + def time_ranges(self, n, func_name): |
| 36 | + f = {'range': range, 'arange': np.arange}[func_name] |
| 37 | + for i in f(n): |
| 38 | + pass |
0 commit comments