Skip to content

Commit fac58ce

Browse files
CLN/PERF: clean-up indexing benchmarks
1 parent 233d51d commit fac58ce

File tree

1 file changed

+32
-158
lines changed

1 file changed

+32
-158
lines changed

asv_bench/benchmarks/indexing.py

Lines changed: 32 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,6 @@ def setup(self):
6565
def time_frame_iloc_dups(self):
6666
self.df2.iloc[self.idx]
6767

68-
69-
class frame_loc_dups(object):
70-
goal_time = 0.2
71-
72-
def setup(self):
73-
self.df = DataFrame({'A': ([0.1] * 3000), 'B': ([1] * 3000), })
74-
self.idx = (np.array(range(30)) * 99)
75-
self.df2 = DataFrame({'A': ([0.1] * 1000), 'B': ([1] * 1000), })
76-
self.df2 = concat([self.df2, (2 * self.df2), (3 * self.df2)])
77-
7868
def time_frame_loc_dups(self):
7969
self.df2.loc[self.idx]
8070

@@ -105,18 +95,43 @@ def time_indexing_dataframe_boolean(self):
10595
class indexing_dataframe_boolean_no_ne(object):
10696
goal_time = 0.2
10797

98+
params = [True, False]
99+
param_names = ['use_numexpr']
100+
101+
def setup(self, use_numexpr):
102+
if (expr is None):
103+
raise NotImplementedError
104+
self.df = DataFrame(np.random.randn(50000, 100))
105+
self.df2 = DataFrame(np.random.randn(50000, 100))
106+
if use_numexpr:
107+
expr.set_numexpr_threads(1)
108+
else:
109+
expr.set_use_numexpr(False)
110+
111+
def time_indexing_dataframe_boolean_no_ne(self, use_numexpr):
112+
(self.df > self.df2)
113+
114+
def teardown(self, use_numexpr):
115+
if use_numexpr:
116+
expr.set_numexpr_threads()
117+
else:
118+
expr.set_use_numexpr(True)
119+
120+
class indexing_dataframe_boolean_st(object):
121+
goal_time = 0.2
122+
108123
def setup(self):
109124
if (expr is None):
110125
raise NotImplementedError
111126
self.df = DataFrame(np.random.randn(50000, 100))
112127
self.df2 = DataFrame(np.random.randn(50000, 100))
113-
expr.set_use_numexpr(False)
128+
expr.set_numexpr_threads(1)
114129

115-
def time_indexing_dataframe_boolean_no_ne(self):
130+
def time_indexing_dataframe_boolean_st(self):
116131
(self.df > self.df2)
117132

118133
def teardown(self):
119-
expr.set_use_numexpr(True)
134+
expr.set_numexpr_threads()
120135

121136

122137
class indexing_dataframe_boolean_rows(object):
@@ -130,34 +145,10 @@ def setup(self):
130145
def time_indexing_dataframe_boolean_rows(self):
131146
self.df[self.indexer]
132147

133-
134-
class indexing_dataframe_boolean_rows_object(object):
135-
goal_time = 0.2
136-
137-
def setup(self):
138-
self.df = DataFrame(np.random.randn(10000, 4), columns=['A', 'B', 'C', 'D'])
139-
self.indexer = (self.df['B'] > 0)
140-
self.obj_indexer = self.indexer.astype('O')
141-
142148
def time_indexing_dataframe_boolean_rows_object(self):
143149
self.df[self.obj_indexer]
144150

145151

146-
class indexing_dataframe_boolean_st(object):
147-
goal_time = 0.2
148-
149-
def setup(self):
150-
if (expr is None):
151-
raise NotImplementedError
152-
self.df = DataFrame(np.random.randn(50000, 100))
153-
self.df2 = DataFrame(np.random.randn(50000, 100))
154-
expr.set_numexpr_threads(1)
155-
156-
def time_indexing_dataframe_boolean_st(self):
157-
(self.df > self.df2)
158-
159-
def teardown(self):
160-
expr.set_numexpr_threads()
161152

162153

163154
class indexing_frame_get_value(object):
@@ -173,17 +164,6 @@ def setup(self):
173164
def time_indexing_frame_get_value(self):
174165
self.df.get_value(self.idx, self.col)
175166

176-
177-
class indexing_frame_get_value_ix(object):
178-
goal_time = 0.2
179-
180-
def setup(self):
181-
self.index = tm.makeStringIndex(1000)
182-
self.columns = tm.makeStringIndex(30)
183-
self.df = DataFrame(np.random.randn(1000, 30), index=self.index, columns=self.columns)
184-
self.idx = self.index[100]
185-
self.col = self.columns[10]
186-
187167
def time_indexing_frame_get_value_ix(self):
188168
self.df.ix[(self.idx, self.col)]
189169

@@ -236,6 +216,9 @@ def setup(self):
236216
def time_series_getitem_array(self):
237217
self.s[np.arange(10000)]
238218

219+
def time_series_getitem_list_like(self):
220+
self.s[[800000]]
221+
239222

240223
class series_getitem_label_slice(object):
241224
goal_time = 0.2
@@ -248,29 +231,11 @@ def setup(self):
248231
def time_series_getitem_label_slice(self):
249232
self.s[:self.lbl]
250233

251-
252-
class series_getitem_list_like(object):
253-
goal_time = 0.2
254-
255-
def setup(self):
256-
self.s = Series(np.random.rand(1000000))
257-
258-
def time_series_getitem_list_like(self):
259-
self.s[[800000]]
260-
261-
262-
class series_getitem_pos_slice(object):
263-
goal_time = 0.2
264-
265-
def setup(self):
266-
self.index = tm.makeStringIndex(1000000)
267-
self.s = Series(np.random.rand(1000000), index=self.index)
268-
269234
def time_series_getitem_pos_slice(self):
270235
self.s[:800000]
271236

272237

273-
class series_getitem_scalar(object):
238+
class SeriesIndexing(object):
274239
goal_time = 0.2
275240

276241
def setup(self):
@@ -279,133 +244,42 @@ def setup(self):
279244
def time_series_getitem_scalar(self):
280245
self.s[800000]
281246

282-
283-
class series_getitem_slice(object):
284-
goal_time = 0.2
285-
286-
def setup(self):
287-
self.s = Series(np.random.rand(1000000))
288-
289247
def time_series_getitem_slice(self):
290248
self.s[:800000]
291249

292-
293-
class series_iloc_array(object):
294-
goal_time = 0.2
295-
296-
def setup(self):
297-
self.s = Series(np.random.rand(1000000))
298-
299250
def time_series_iloc_array(self):
300251
self.s.iloc[np.arange(10000)]
301252

302-
303-
class series_iloc_list_like(object):
304-
goal_time = 0.2
305-
306-
def setup(self):
307-
self.s = Series(np.random.rand(1000000))
308-
309253
def time_series_iloc_list_like(self):
310254
self.s.iloc[[800000]]
311255

312-
313-
class series_iloc_scalar(object):
314-
goal_time = 0.2
315-
316-
def setup(self):
317-
self.s = Series(np.random.rand(1000000))
318-
319256
def time_series_iloc_scalar(self):
320257
self.s.iloc[800000]
321258

322-
323-
class series_iloc_slice(object):
324-
goal_time = 0.2
325-
326-
def setup(self):
327-
self.s = Series(np.random.rand(1000000))
328-
329259
def time_series_iloc_slice(self):
330260
self.s.iloc[:800000]
331261

332-
333-
class series_ix_array(object):
334-
goal_time = 0.2
335-
336-
def setup(self):
337-
self.s = Series(np.random.rand(1000000))
338-
339262
def time_series_ix_array(self):
340263
self.s.ix[np.arange(10000)]
341264

342-
343-
class series_ix_list_like(object):
344-
goal_time = 0.2
345-
346-
def setup(self):
347-
self.s = Series(np.random.rand(1000000))
348-
349265
def time_series_ix_list_like(self):
350266
self.s.ix[[800000]]
351267

352-
353-
class series_ix_scalar(object):
354-
goal_time = 0.2
355-
356-
def setup(self):
357-
self.s = Series(np.random.rand(1000000))
358-
359268
def time_series_ix_scalar(self):
360269
self.s.ix[800000]
361270

362-
363-
class series_ix_slice(object):
364-
goal_time = 0.2
365-
366-
def setup(self):
367-
self.s = Series(np.random.rand(1000000))
368-
369271
def time_series_ix_slice(self):
370272
self.s.ix[:800000]
371273

372-
373-
class series_loc_array(object):
374-
goal_time = 0.2
375-
376-
def setup(self):
377-
self.s = Series(np.random.rand(1000000))
378-
379274
def time_series_loc_array(self):
380275
self.s.loc[np.arange(10000)]
381276

382-
383-
class series_loc_list_like(object):
384-
goal_time = 0.2
385-
386-
def setup(self):
387-
self.s = Series(np.random.rand(1000000))
388-
389277
def time_series_loc_list_like(self):
390278
self.s.loc[[800000]]
391279

392-
393-
class series_loc_scalar(object):
394-
goal_time = 0.2
395-
396-
def setup(self):
397-
self.s = Series(np.random.rand(1000000))
398-
399280
def time_series_loc_scalar(self):
400281
self.s.loc[800000]
401282

402-
403-
class series_loc_slice(object):
404-
goal_time = 0.2
405-
406-
def setup(self):
407-
self.s = Series(np.random.rand(1000000))
408-
409283
def time_series_loc_slice(self):
410284
self.s.loc[:800000]
411285

0 commit comments

Comments
 (0)