Skip to content

Commit 1375c51

Browse files
committed
PERF: add vbench for datetime comparisons
1 parent a178546 commit 1375c51

File tree

2 files changed

+37
-10
lines changed

2 files changed

+37
-10
lines changed

vb_suite/binary_ops.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
setup = common_setup + """
107107
N = 1000000
108108
halfway = N // 2 - 1
109-
s = Series(date_range('20010101', periods=N, freq='D'))
109+
s = Series(date_range('20010101', periods=N, freq='T'))
110110
ts = s[halfway]
111111
"""
112112

vb_suite/eval.py

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@
4747
eval_frame_mult_all_threads = \
4848
Benchmark("pd.eval('df * df2 * df3 * df4')", common_setup,
4949
name='eval_frame_mult_all_threads',
50-
start_date=datetime(2012, 7, 21))
50+
start_date=datetime(2013, 7, 21))
5151

5252
eval_frame_mult_one_thread = \
5353
Benchmark("pd.eval('df * df2 * df3 * df4')", setup,
5454
name='eval_frame_mult_one_thread',
55-
start_date=datetime(2012, 7, 26))
55+
start_date=datetime(2013, 7, 26))
5656

5757
eval_frame_mult_python = \
5858
Benchmark("pdl.eval('df * df2 * df3 * df4', engine='python')",
@@ -62,7 +62,7 @@
6262
eval_frame_mult_python_one_thread = \
6363
Benchmark("pd.eval('df * df2 * df3 * df4', engine='python')", setup,
6464
name='eval_frame_mult_python_one_thread',
65-
start_date=datetime(2012, 7, 26))
65+
start_date=datetime(2013, 7, 26))
6666

6767
#----------------------------------------------------------------------
6868
# multi and
@@ -71,12 +71,12 @@
7171
Benchmark("pd.eval('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)')",
7272
common_setup,
7373
name='eval_frame_and_all_threads',
74-
start_date=datetime(2012, 7, 21))
74+
start_date=datetime(2013, 7, 21))
7575

7676
eval_frame_and_one_thread = \
7777
Benchmark("pd.eval('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)')", setup,
7878
name='eval_frame_and_one_thread',
79-
start_date=datetime(2012, 7, 26))
79+
start_date=datetime(2013, 7, 26))
8080

8181
setup = common_setup
8282
eval_frame_and_python = \
@@ -88,19 +88,19 @@
8888
Benchmark("pd.eval('(df > 0) & (df2 > 0) & (df3 > 0) & (df4 > 0)', engine='python')",
8989
setup,
9090
name='eval_frame_and_python_one_thread',
91-
start_date=datetime(2012, 7, 26))
91+
start_date=datetime(2013, 7, 26))
9292

9393
#--------------------------------------------------------------------
9494
# chained comp
9595
eval_frame_chained_cmp_all_threads = \
9696
Benchmark("pd.eval('df < df2 < df3 < df4')", common_setup,
9797
name='eval_frame_chained_cmp_all_threads',
98-
start_date=datetime(2012, 7, 21))
98+
start_date=datetime(2013, 7, 21))
9999

100100
eval_frame_chained_cmp_one_thread = \
101101
Benchmark("pd.eval('df < df2 < df3 < df4')", setup,
102102
name='eval_frame_chained_cmp_one_thread',
103-
start_date=datetime(2012, 7, 26))
103+
start_date=datetime(2013, 7, 26))
104104

105105
setup = common_setup
106106
eval_frame_chained_cmp_python = \
@@ -111,4 +111,31 @@
111111
eval_frame_chained_cmp_one_thread = \
112112
Benchmark("pd.eval('df < df2 < df3 < df4', engine='python')", setup,
113113
name='eval_frame_chained_cmp_python_one_thread',
114-
start_date=datetime(2012, 7, 26))
114+
start_date=datetime(2013, 7, 26))
115+
116+
117+
common_setup = """from pandas_vb_common import *
118+
"""
119+
120+
setup = common_setup + """
121+
N = 1000000
122+
halfway = N // 2 - 1
123+
index = date_range('20010101', periods=N, freq='T')
124+
s = Series(index)
125+
ts = s.iloc[halfway]
126+
"""
127+
128+
series_setup = setup + """
129+
df = DataFrame({'dates': s.values})
130+
"""
131+
132+
query_datetime_series = Benchmark("df.query('dates < ts')",
133+
series_setup,
134+
start_date=datetime(2013, 9, 27))
135+
136+
index_setup = setup + """
137+
df = DataFrame({'a': np.random.randn(N)}, index=index)
138+
"""
139+
140+
query_datetime_index = Benchmark("df.query('index < ts')",
141+
index_setup, start_date=datetime(2013, 9, 27))

0 commit comments

Comments
 (0)