@@ -22,175 +22,130 @@ def wrapper(fname):
22
22
return wrapper
23
23
24
24
25
- class nogil_groupby_base (object ):
25
+ class NoGilGroupby (object ):
26
26
goal_time = 0.2
27
27
28
28
def setup (self ):
29
29
self .N = 1000000
30
30
self .ngroups = 1000
31
31
np .random .seed (1234 )
32
32
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
-
36
33
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 ))
38
38
39
- def time_nogil_groupby_count_2 ( self ):
40
- self . pg2 ()
39
+ if ( not have_real_test_parallel ):
40
+ raise NotImplementedError
41
41
42
42
@test_parallel (num_threads = 2 )
43
- def pg2 (self ):
43
+ def _pg2_count (self ):
44
44
self .df .groupby ('key' )['data' ].count ()
45
45
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 ()
51
48
52
49
@test_parallel (num_threads = 2 )
53
- def pg2 (self ):
50
+ def _pg2_last (self ):
54
51
self .df .groupby ('key' )['data' ].last ()
55
52
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 ()
61
55
62
56
@test_parallel (num_threads = 2 )
63
- def pg2 (self ):
57
+ def _pg2_max (self ):
64
58
self .df .groupby ('key' )['data' ].max ()
65
59
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 ()
71
62
72
63
@test_parallel (num_threads = 2 )
73
- def pg2 (self ):
64
+ def _pg2_mean (self ):
74
65
self .df .groupby ('key' )['data' ].mean ()
75
66
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 ()
81
69
82
70
@test_parallel (num_threads = 2 )
83
- def pg2 (self ):
71
+ def _pg2_min (self ):
84
72
self .df .groupby ('key' )['data' ].min ()
85
73
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 ()
91
76
92
77
@test_parallel (num_threads = 2 )
93
- def pg2 (self ):
78
+ def _pg2_prod (self ):
94
79
self .df .groupby ('key' )['data' ].prod ()
95
80
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 ()
101
83
102
84
@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 ):
113
86
self .df .groupby ('key' )['data' ].sum ()
114
87
115
- def g4 (self ):
116
- for i in range (4 ):
117
- self .f ()
88
+ def time_sum_2 (self ):
89
+ self ._pg2_sum ()
118
90
119
91
@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 ()
123
94
124
- class nogil_groupby_sum_8 (nogil_groupby_base ):
95
+ def time_sum_4 (self ):
96
+ self ._pg4_sum ()
125
97
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 ()
128
101
129
- def f (self ):
102
+ def _f_sum (self ):
130
103
self .df .groupby ('key' )['data' ].sum ()
131
104
132
- def g8 (self ):
133
- for i in range (8 ):
134
- self .f ()
135
-
136
105
@test_parallel (num_threads = 8 )
137
- def pg8 (self ):
138
- self .f ()
139
-
106
+ def _pg8_sum (self ):
107
+ self ._f_sum ()
140
108
141
- class nogil_groupby_var_2 (nogil_groupby_base ):
109
+ def time_sum_8 (self ):
110
+ self ._pg8_sum ()
142
111
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 ()
145
115
146
116
@test_parallel (num_threads = 2 )
147
- def pg2 (self ):
117
+ def _pg2_var (self ):
148
118
self .df .groupby ('key' )['data' ].var ()
149
119
120
+ def time_var_2 (self ):
121
+ self ._pg2_var ()
150
122
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
161
124
162
- def f (self ):
125
+ def _groups (self ):
163
126
self .data .groupby (self .data ).groups
164
127
165
-
166
- class nogil_groupby_groups_2 (nogil_groupby_groups ):
167
-
168
- def time_nogil_groupby_groups (self ):
169
- self .pg2 ()
170
-
171
128
@test_parallel (num_threads = 2 )
172
- def pg2 (self ):
173
- self .f ()
174
-
129
+ def _pg2_groups (self ):
130
+ self ._groups ()
175
131
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 ()
180
134
181
135
@test_parallel (num_threads = 4 )
182
- def pg4 (self ):
183
- self .f ()
136
+ def _pg4_groups (self ):
137
+ self ._groups ()
184
138
139
+ def time_groups_4 (self ):
140
+ self ._pg4_groups ()
185
141
186
- class nogil_groupby_groups_8 (nogil_groupby_groups ):
142
+ @test_parallel (num_threads = 8 )
143
+ def _pg8_groups (self ):
144
+ self ._groups ()
187
145
188
- def time_nogil_groupby_groups (self ):
189
- self .pg8 ()
146
+ def time_groups_8 (self ):
147
+ self ._pg8_groups ()
190
148
191
- @test_parallel (num_threads = 8 )
192
- def pg8 (self ):
193
- self .f ()
194
149
195
150
196
151
class nogil_take1d_float64 (object ):
@@ -408,19 +363,19 @@ def create_cols(self, name):
408
363
def pg_read_csv (self ):
409
364
read_csv ('__test__.csv' , sep = ',' , header = None , float_precision = None )
410
365
411
- def time_nogil_read_csv (self ):
366
+ def time_read_csv (self ):
412
367
self .pg_read_csv ()
413
368
414
369
@test_parallel (num_threads = 2 )
415
370
def pg_read_csv_object (self ):
416
371
read_csv ('__test_object__.csv' , sep = ',' )
417
372
418
- def time_nogil_read_csv_object (self ):
373
+ def time_read_csv_object (self ):
419
374
self .pg_read_csv_object ()
420
375
421
376
@test_parallel (num_threads = 2 )
422
377
def pg_read_csv_datetime (self ):
423
378
read_csv ('__test_datetime__.csv' , sep = ',' , header = None )
424
379
425
- def time_nogil_read_csv_datetime (self ):
380
+ def time_read_csv_datetime (self ):
426
381
self .pg_read_csv_datetime ()
0 commit comments