Skip to content

Commit 0ce5175

Browse files
Clean-up gil bencmarks
1 parent ec4ca00 commit 0ce5175

File tree

1 file changed

+64
-109
lines changed

1 file changed

+64
-109
lines changed

asv_bench/benchmarks/gil.py

+64-109
Original file line numberDiff line numberDiff line change
@@ -22,175 +22,130 @@ def wrapper(fname):
2222
return wrapper
2323

2424

25-
class nogil_groupby_base(object):
25+
class NoGilGroupby(object):
2626
goal_time = 0.2
2727

2828
def setup(self):
2929
self.N = 1000000
3030
self.ngroups = 1000
3131
np.random.seed(1234)
3232
self.df = DataFrame({'key': np.random.randint(0, self.ngroups, size=self.N), 'data': np.random.randn(self.N), })
33-
if (not have_real_test_parallel):
34-
raise NotImplementedError
35-
3633

37-
class nogil_groupby_count_2(nogil_groupby_base):
34+
np.random.seed(1234)
35+
self.size = 2 ** 22
36+
self.ngroups = 100
37+
self.data = Series(np.random.randint(0, self.ngroups, size=self.size))
3838

39-
def time_nogil_groupby_count_2(self):
40-
self.pg2()
39+
if (not have_real_test_parallel):
40+
raise NotImplementedError
4141

4242
@test_parallel(num_threads=2)
43-
def pg2(self):
43+
def _pg2_count(self):
4444
self.df.groupby('key')['data'].count()
4545

46-
47-
class nogil_groupby_last_2(nogil_groupby_base):
48-
49-
def time_nogil_groupby_last_2(self):
50-
self.pg2()
46+
def time_count_2(self):
47+
self._pg2_count()
5148

5249
@test_parallel(num_threads=2)
53-
def pg2(self):
50+
def _pg2_last(self):
5451
self.df.groupby('key')['data'].last()
5552

56-
57-
class nogil_groupby_max_2(nogil_groupby_base):
58-
59-
def time_nogil_groupby_max_2(self):
60-
self.pg2()
53+
def time_last_2(self):
54+
self._pg2_last()
6155

6256
@test_parallel(num_threads=2)
63-
def pg2(self):
57+
def _pg2_max(self):
6458
self.df.groupby('key')['data'].max()
6559

66-
67-
class nogil_groupby_mean_2(nogil_groupby_base):
68-
69-
def time_nogil_groupby_mean_2(self):
70-
self.pg2()
60+
def time_max_2(self):
61+
self._pg2_max()
7162

7263
@test_parallel(num_threads=2)
73-
def pg2(self):
64+
def _pg2_mean(self):
7465
self.df.groupby('key')['data'].mean()
7566

76-
77-
class nogil_groupby_min_2(nogil_groupby_base):
78-
79-
def time_nogil_groupby_min_2(self):
80-
self.pg2()
67+
def time_mean_2(self):
68+
self._pg2_mean()
8169

8270
@test_parallel(num_threads=2)
83-
def pg2(self):
71+
def _pg2_min(self):
8472
self.df.groupby('key')['data'].min()
8573

86-
87-
class nogil_groupby_prod_2(nogil_groupby_base):
88-
89-
def time_nogil_groupby_prod_2(self):
90-
self.pg2()
74+
def time_min_2(self):
75+
self._pg2_min()
9176

9277
@test_parallel(num_threads=2)
93-
def pg2(self):
78+
def _pg2_prod(self):
9479
self.df.groupby('key')['data'].prod()
9580

96-
97-
class nogil_groupby_sum_2(nogil_groupby_base):
98-
99-
def time_nogil_groupby_sum_2(self):
100-
self.pg2()
81+
def time_prod_2(self):
82+
self._pg2_prod()
10183

10284
@test_parallel(num_threads=2)
103-
def pg2(self):
104-
self.df.groupby('key')['data'].sum()
105-
106-
107-
class nogil_groupby_sum_4(nogil_groupby_base):
108-
109-
def time_nogil_groupby_sum_4(self):
110-
self.pg4()
111-
112-
def f(self):
85+
def _pg2_sum(self):
11386
self.df.groupby('key')['data'].sum()
11487

115-
def g4(self):
116-
for i in range(4):
117-
self.f()
88+
def time_sum_2(self):
89+
self._pg2_sum()
11890

11991
@test_parallel(num_threads=4)
120-
def pg4(self):
121-
self.f()
122-
92+
def _pg4_sum(self):
93+
self.df.groupby('key')['data'].sum()
12394

124-
class nogil_groupby_sum_8(nogil_groupby_base):
95+
def time_sum_4(self):
96+
self._pg4_sum()
12597

126-
def time_nogil_groupby_sum_8(self):
127-
self.pg8()
98+
def time_sum_4_notp(self):
99+
for i in range(4):
100+
self.df.groupby('key')['data'].sum()
128101

129-
def f(self):
102+
def _f_sum(self):
130103
self.df.groupby('key')['data'].sum()
131104

132-
def g8(self):
133-
for i in range(8):
134-
self.f()
135-
136105
@test_parallel(num_threads=8)
137-
def pg8(self):
138-
self.f()
139-
106+
def _pg8_sum(self):
107+
self._f_sum()
140108

141-
class nogil_groupby_var_2(nogil_groupby_base):
109+
def time_sum_8(self):
110+
self._pg8_sum()
142111

143-
def time_nogil_groupby_var_2(self):
144-
self.pg2()
112+
def time_sum_8_notp(self):
113+
for i in range(8):
114+
self._f_sum()
145115

146116
@test_parallel(num_threads=2)
147-
def pg2(self):
117+
def _pg2_var(self):
148118
self.df.groupby('key')['data'].var()
149119

120+
def time_var_2(self):
121+
self._pg2_var()
150122

151-
class nogil_groupby_groups(object):
152-
goal_time = 0.2
153-
154-
def setup(self):
155-
np.random.seed(1234)
156-
self.size = 2**22
157-
self.ngroups = 100
158-
self.data = Series(np.random.randint(0, self.ngroups, size=self.size))
159-
if (not have_real_test_parallel):
160-
raise NotImplementedError
123+
# get groups
161124

162-
def f(self):
125+
def _groups(self):
163126
self.data.groupby(self.data).groups
164127

165-
166-
class nogil_groupby_groups_2(nogil_groupby_groups):
167-
168-
def time_nogil_groupby_groups(self):
169-
self.pg2()
170-
171128
@test_parallel(num_threads=2)
172-
def pg2(self):
173-
self.f()
174-
129+
def _pg2_groups(self):
130+
self._groups()
175131

176-
class nogil_groupby_groups_4(nogil_groupby_groups):
177-
178-
def time_nogil_groupby_groups(self):
179-
self.pg4()
132+
def time_groups_2(self):
133+
self._pg2_groups()
180134

181135
@test_parallel(num_threads=4)
182-
def pg4(self):
183-
self.f()
136+
def _pg4_groups(self):
137+
self._groups()
184138

139+
def time_groups_4(self):
140+
self._pg4_groups()
185141

186-
class nogil_groupby_groups_8(nogil_groupby_groups):
142+
@test_parallel(num_threads=8)
143+
def _pg8_groups(self):
144+
self._groups()
187145

188-
def time_nogil_groupby_groups(self):
189-
self.pg8()
146+
def time_groups_8(self):
147+
self._pg8_groups()
190148

191-
@test_parallel(num_threads=8)
192-
def pg8(self):
193-
self.f()
194149

195150

196151
class nogil_take1d_float64(object):
@@ -408,19 +363,19 @@ def create_cols(self, name):
408363
def pg_read_csv(self):
409364
read_csv('__test__.csv', sep=',', header=None, float_precision=None)
410365

411-
def time_nogil_read_csv(self):
366+
def time_read_csv(self):
412367
self.pg_read_csv()
413368

414369
@test_parallel(num_threads=2)
415370
def pg_read_csv_object(self):
416371
read_csv('__test_object__.csv', sep=',')
417372

418-
def time_nogil_read_csv_object(self):
373+
def time_read_csv_object(self):
419374
self.pg_read_csv_object()
420375

421376
@test_parallel(num_threads=2)
422377
def pg_read_csv_datetime(self):
423378
read_csv('__test_datetime__.csv', sep=',', header=None)
424379

425-
def time_nogil_read_csv_datetime(self):
380+
def time_read_csv_datetime(self):
426381
self.pg_read_csv_datetime()

0 commit comments

Comments
 (0)