Skip to content

Commit 0c7c6d6

Browse files
committed
add additional setup_cache
1 parent 6eb2d32 commit 0c7c6d6

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

asv_bench/benchmarks/groupby.py

+19-17
Original file line numberDiff line numberDiff line change
@@ -58,25 +58,27 @@ def time_copy_overhead_single_col(self):
5858

5959
class Groups(object):
6060

61-
goal_time = 0.1
62-
63-
size = 10**6
64-
data = {'int64_small': Series(np.random.randint(0, 100, size=size)),
65-
'int64_large': Series(np.random.randint(0, 10000, size=size)),
66-
'object_small': Series(
67-
tm.makeStringIndex(100).take(
68-
np.random.randint(0, 100, size=size))),
69-
'object_large': Series(
70-
tm.makeStringIndex(10000).take(
71-
np.random.randint(0, 10000, size=size)))}
72-
73-
param_names = ['ser']
74-
params = ['int64_small', 'int64_large', 'object_small', 'object_large']
61+
goal_time = 0.2
7562

76-
def setup(self, ser):
77-
self.ser = self.data[ser]
63+
param_names = ['key']
64+
params = ['int64_small', 'int64_large', 'object_small', 'object_large']
7865

79-
def time_series_groups(self, ser):
66+
def setup_cache(self):
67+
size = 10**6
68+
data = {'int64_small': Series(np.random.randint(0, 100, size=size)),
69+
'int64_large': Series(np.random.randint(0, 10000, size=size)),
70+
'object_small': Series(
71+
tm.makeStringIndex(100).take(
72+
np.random.randint(0, 100, size=size))),
73+
'object_large': Series(
74+
tm.makeStringIndex(10000).take(
75+
np.random.randint(0, 10000, size=size)))}
76+
return data
77+
78+
def setup(self, data, key):
79+
self.ser = data[key]
80+
81+
def time_series_groups(self, data, key):
8082
self.ser.groupby(self.ser).groups
8183

8284

0 commit comments

Comments
 (0)