Skip to content

Commit 0748cb0

Browse files
Clean-up HDFStore benchmarks
1 parent fbe8c5e commit 0748cb0

File tree

1 file changed

+51
-280
lines changed

1 file changed

+51
-280
lines changed

asv_bench/benchmarks/hdfstore_bench.py

+51-280
Original file line numberDiff line numberDiff line change
@@ -2,186 +2,45 @@
22
import os
33

44

5-
class query_store_table(object):
5+
class HDF5(object):
66
goal_time = 0.2
77

88
def setup(self):
9-
self.f = '__test__.h5'
10-
self.index = date_range('1/1/2000', periods=25000)
11-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), }, index=self.index)
12-
self.remove(self.f)
13-
self.store = HDFStore(self.f)
14-
self.store.append('df12', self.df)
15-
16-
def time_query_store_table(self):
17-
self.store.select('df12', [('index', '>', self.df.index[10000]), ('index', '<', self.df.index[15000])])
9+
self.index = tm.makeStringIndex(25000)
10+
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000),},
11+
index=self.index)
1812

19-
def teardown(self):
20-
self.store.close()
13+
self.df_mixed = DataFrame(
14+
{'float1': randn(25000), 'float2': randn(25000),
15+
'string1': (['foo'] * 25000),
16+
'bool1': ([True] * 25000),
17+
'int1': np.random.randint(0, 250000, size=25000),},
18+
index=self.index)
2119

22-
def remove(self, f):
23-
try:
24-
os.remove(self.f)
25-
except:
26-
pass
20+
self.df_wide = DataFrame(np.random.randn(25000, 100))
2721

22+
self.df2 = DataFrame({'float1': randn(25000), 'float2': randn(25000)},
23+
index=date_range('1/1/2000', periods=25000))
24+
self.df_wide2 = DataFrame(np.random.randn(25000, 100),
25+
index=date_range('1/1/2000', periods=25000))
2826

29-
class query_store_table_wide(object):
30-
goal_time = 0.2
27+
self.df_dc = DataFrame(np.random.randn(10000, 10),
28+
columns=[('C%03d' % i) for i in range(10)])
3129

32-
def setup(self):
3330
self.f = '__test__.h5'
34-
self.index = date_range('1/1/2000', periods=25000)
35-
self.df = DataFrame(np.random.randn(25000, 100), index=self.index)
3631
self.remove(self.f)
37-
self.store = HDFStore(self.f)
38-
self.store.append('df11', self.df)
3932

40-
def time_query_store_table_wide(self):
41-
self.store.select('df11', [('index', '>', self.df.index[10000]), ('index', '<', self.df.index[15000])])
42-
43-
def teardown(self):
44-
self.store.close()
45-
46-
def remove(self, f):
47-
try:
48-
os.remove(self.f)
49-
except:
50-
pass
51-
52-
53-
class read_store(object):
54-
goal_time = 0.2
55-
56-
def setup(self):
57-
self.f = '__test__.h5'
58-
self.index = tm.makeStringIndex(25000)
59-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), }, index=self.index)
60-
self.remove(self.f)
6133
self.store = HDFStore(self.f)
6234
self.store.put('df1', self.df)
35+
self.store.put('df_mixed', self.df_mixed)
6336

64-
def time_read_store(self):
65-
self.store.get('df1')
66-
67-
def teardown(self):
68-
self.store.close()
69-
70-
def remove(self, f):
71-
try:
72-
os.remove(self.f)
73-
except:
74-
pass
75-
76-
77-
class read_store_mixed(object):
78-
goal_time = 0.2
79-
80-
def setup(self):
81-
self.f = '__test__.h5'
82-
self.index = tm.makeStringIndex(25000)
83-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), 'string1': (['foo'] * 25000), 'bool1': ([True] * 25000), 'int1': np.random.randint(0, 250000, size=25000), }, index=self.index)
84-
self.remove(self.f)
85-
self.store = HDFStore(self.f)
86-
self.store.put('df3', self.df)
87-
88-
def time_read_store_mixed(self):
89-
self.store.get('df3')
90-
91-
def teardown(self):
92-
self.store.close()
93-
94-
def remove(self, f):
95-
try:
96-
os.remove(self.f)
97-
except:
98-
pass
99-
100-
101-
class read_store_table(object):
102-
goal_time = 0.2
103-
104-
def setup(self):
105-
self.f = '__test__.h5'
106-
self.index = tm.makeStringIndex(25000)
107-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), }, index=self.index)
108-
self.remove(self.f)
109-
self.store = HDFStore(self.f)
37+
self.store.append('df5', self.df_mixed)
11038
self.store.append('df7', self.df)
11139

112-
def time_read_store_table(self):
113-
self.store.select('df7')
114-
115-
def teardown(self):
116-
self.store.close()
117-
118-
def remove(self, f):
119-
try:
120-
os.remove(self.f)
121-
except:
122-
pass
123-
124-
125-
class read_store_table_mixed(object):
126-
goal_time = 0.2
127-
128-
def setup(self):
129-
self.f = '__test__.h5'
130-
self.N = 10000
131-
self.index = tm.makeStringIndex(self.N)
132-
self.df = DataFrame({'float1': randn(self.N), 'float2': randn(self.N), 'string1': (['foo'] * self.N), 'bool1': ([True] * self.N), 'int1': np.random.randint(0, self.N, size=self.N), }, index=self.index)
133-
self.remove(self.f)
134-
self.store = HDFStore(self.f)
135-
self.store.append('df5', self.df)
136-
137-
def time_read_store_table_mixed(self):
138-
self.store.select('df5')
139-
140-
def teardown(self):
141-
self.store.close()
142-
143-
def remove(self, f):
144-
try:
145-
os.remove(self.f)
146-
except:
147-
pass
148-
149-
150-
class read_store_table_panel(object):
151-
goal_time = 0.2
152-
153-
def setup(self):
154-
self.f = '__test__.h5'
155-
self.p = Panel(randn(20, 1000, 25), items=[('Item%03d' % i) for i in range(20)], major_axis=date_range('1/1/2000', periods=1000), minor_axis=[('E%03d' % i) for i in range(25)])
156-
self.remove(self.f)
157-
self.store = HDFStore(self.f)
158-
self.store.append('p1', self.p)
159-
160-
def time_read_store_table_panel(self):
161-
self.store.select('p1')
162-
163-
def teardown(self):
164-
self.store.close()
165-
166-
def remove(self, f):
167-
try:
168-
os.remove(self.f)
169-
except:
170-
pass
171-
172-
173-
class read_store_table_wide(object):
174-
goal_time = 0.2
175-
176-
def setup(self):
177-
self.f = '__test__.h5'
178-
self.df = DataFrame(np.random.randn(25000, 100))
179-
self.remove(self.f)
180-
self.store = HDFStore(self.f)
181-
self.store.append('df9', self.df)
40+
self.store.append('df9', self.df_wide)
18241

183-
def time_read_store_table_wide(self):
184-
self.store.select('df9')
42+
self.store.append('df11', self.df_wide2)
43+
self.store.append('df12', self.df2)
18544

18645
def teardown(self):
18746
self.store.close()
@@ -192,110 +51,60 @@ def remove(self, f):
19251
except:
19352
pass
19453

54+
def time_read_store(self):
55+
self.store.get('df1')
19556

196-
class write_store(object):
197-
goal_time = 0.2
198-
199-
def setup(self):
200-
self.f = '__test__.h5'
201-
self.index = tm.makeStringIndex(25000)
202-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), }, index=self.index)
203-
self.remove(self.f)
204-
self.store = HDFStore(self.f)
57+
def time_read_store_mixed(self):
58+
self.store.get('df_mixed')
20559

20660
def time_write_store(self):
20761
self.store.put('df2', self.df)
20862

209-
def teardown(self):
210-
self.store.close()
211-
212-
def remove(self, f):
213-
try:
214-
os.remove(self.f)
215-
except:
216-
pass
217-
218-
219-
class write_store_mixed(object):
220-
goal_time = 0.2
221-
222-
def setup(self):
223-
self.f = '__test__.h5'
224-
self.index = tm.makeStringIndex(25000)
225-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), 'string1': (['foo'] * 25000), 'bool1': ([True] * 25000), 'int1': np.random.randint(0, 250000, size=25000), }, index=self.index)
226-
self.remove(self.f)
227-
self.store = HDFStore(self.f)
228-
22963
def time_write_store_mixed(self):
230-
self.store.put('df4', self.df)
231-
232-
def teardown(self):
233-
self.store.close()
234-
235-
def remove(self, f):
236-
try:
237-
os.remove(self.f)
238-
except:
239-
pass
64+
self.store.put('df_mixed2', self.df_mixed)
24065

66+
def time_read_store_table_mixed(self):
67+
self.store.select('df5')
24168

242-
class write_store_table(object):
243-
goal_time = 0.2
69+
def time_write_store_table_mixed(self):
70+
self.store.append('df6', self.df_mixed)
24471

245-
def setup(self):
246-
self.f = '__test__.h5'
247-
self.index = tm.makeStringIndex(25000)
248-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), }, index=self.index)
249-
self.remove(self.f)
250-
self.store = HDFStore(self.f)
72+
def time_read_store_table(self):
73+
self.store.select('df7')
25174

25275
def time_write_store_table(self):
25376
self.store.append('df8', self.df)
25477

255-
def teardown(self):
256-
self.store.close()
257-
258-
def remove(self, f):
259-
try:
260-
os.remove(self.f)
261-
except:
262-
pass
263-
264-
265-
class write_store_table_dc(object):
266-
goal_time = 0.2
78+
def time_read_store_table_wide(self):
79+
self.store.select('df9')
26780

268-
def setup(self):
269-
self.f = '__test__.h5'
270-
self.df = DataFrame(np.random.randn(10000, 10), columns=[('C%03d' % i) for i in range(10)])
271-
self.remove(self.f)
272-
self.store = HDFStore(self.f)
81+
def time_write_store_table_wide(self):
82+
self.store.append('df10', self.df_wide)
27383

27484
def time_write_store_table_dc(self):
27585
self.store.append('df15', self.df, data_columns=True)
27686

277-
def teardown(self):
278-
self.store.close()
87+
def time_query_store_table_wide(self):
88+
self.store.select('df11', [('index', '>', self.df_wide2.index[10000]),
89+
('index', '<', self.df_wide2.index[15000])])
27990

280-
def remove(self, f):
281-
try:
282-
os.remove(self.f)
283-
except:
284-
pass
91+
def time_query_store_table(self):
92+
self.store.select('df12', [('index', '>', self.df2.index[10000]),
93+
('index', '<', self.df2.index[15000])])
28594

28695

287-
class write_store_table_mixed(object):
96+
class HDF5Panel(object):
28897
goal_time = 0.2
28998

29099
def setup(self):
291100
self.f = '__test__.h5'
292-
self.index = tm.makeStringIndex(25000)
293-
self.df = DataFrame({'float1': randn(25000), 'float2': randn(25000), 'string1': (['foo'] * 25000), 'bool1': ([True] * 25000), 'int1': np.random.randint(0, 25000, size=25000), }, index=self.index)
101+
self.p = Panel(randn(20, 1000, 25),
102+
items=[('Item%03d' % i) for i in range(20)],
103+
major_axis=date_range('1/1/2000', periods=1000),
104+
minor_axis=[('E%03d' % i) for i in range(25)])
294105
self.remove(self.f)
295106
self.store = HDFStore(self.f)
296-
297-
def time_write_store_table_mixed(self):
298-
self.store.append('df6', self.df)
107+
self.store.append('p1', self.p)
299108

300109
def teardown(self):
301110
self.store.close()
@@ -306,46 +115,8 @@ def remove(self, f):
306115
except:
307116
pass
308117

309-
310-
class write_store_table_panel(object):
311-
goal_time = 0.2
312-
313-
def setup(self):
314-
self.f = '__test__.h5'
315-
self.p = Panel(randn(20, 1000, 25), items=[('Item%03d' % i) for i in range(20)], major_axis=date_range('1/1/2000', periods=1000), minor_axis=[('E%03d' % i) for i in range(25)])
316-
self.remove(self.f)
317-
self.store = HDFStore(self.f)
118+
def time_read_store_table_panel(self):
119+
self.store.select('p1')
318120

319121
def time_write_store_table_panel(self):
320122
self.store.append('p2', self.p)
321-
322-
def teardown(self):
323-
self.store.close()
324-
325-
def remove(self, f):
326-
try:
327-
os.remove(self.f)
328-
except:
329-
pass
330-
331-
332-
class write_store_table_wide(object):
333-
goal_time = 0.2
334-
335-
def setup(self):
336-
self.f = '__test__.h5'
337-
self.df = DataFrame(np.random.randn(25000, 100))
338-
self.remove(self.f)
339-
self.store = HDFStore(self.f)
340-
341-
def time_write_store_table_wide(self):
342-
self.store.append('df10', self.df)
343-
344-
def teardown(self):
345-
self.store.close()
346-
347-
def remove(self, f):
348-
try:
349-
os.remove(self.f)
350-
except:
351-
pass

0 commit comments

Comments
 (0)