ENH/BUG: Use Kleene logic for groupby any/all by mzeitlin11 · Pull Request #40819 · pandas-dev/pandas (original) (raw)
before after ratio
[3b4b193d] [423f43fc]
<master> <enh/any_all_kleene>
216±8ms 205±4ms 0.95 groupby.GroupByCythonAgg.time_frame_agg('float64', 'all')
208±8ms 197±3ms 0.95 groupby.GroupByCythonAgg.time_frame_agg('float64', 'any')
162±10μs 139±4μs ~0.86 groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'direct')
161±20μs 138±9μs ~0.86 groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'transformation')
159±10μs 142±5μs ~0.90 groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'direct')
160±10μs 140±5μs ~0.88 groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'transformation')
109±8μs 113±10μs 1.04 groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'direct')
103±10μs 109±9μs 1.06 groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'transformation')
113±20μs 132±10μs ~1.17 groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'direct')
138±10μs 124±20μs ~0.90 groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'transformation')
110±9μs 112±5μs 1.02 groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'direct')
115±9μs 109±10μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'transformation')
123±10μs 115±7μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'direct')
125±10μs 114±8μs 0.92 groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'transformation')
449±30μs 452±20μs 1.01 groupby.GroupByMethods.time_dtype_as_field('object', 'all', 'direct')
442±30μs 445±20μs 1.01 groupby.GroupByMethods.time_dtype_as_field('object', 'all', 'transformation')
470±10μs 455±30μs 0.97 groupby.GroupByMethods.time_dtype_as_field('object', 'any', 'direct')
466±30μs 406±4μs ~0.87 groupby.GroupByMethods.time_dtype_as_field('object', 'any', 'transformation')
118±8μs 118±7μs 1.00 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'direct')
134±9μs 132±20μs 0.99 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'transformation')
131±20μs 115±9μs ~0.88 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'direct')
121±10μs 118±5μs 0.97 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'transformation')
111±10μs 111±4μs 1.00 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'direct')
109±10μs 120±10μs ~1.11 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'transformation')
110±9μs 127±10μs ~1.16 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'direct')
112±10μs 122±10μs 1.09 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'transformation')
130±10μs 115±6μs ~0.89 groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'direct')
133±7μs 115±7μs ~0.86 groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'transformation')
117±5μs 123±10μs 1.05 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'direct')
133±10μs 118±20μs ~0.89 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'transformation')
107±9μs 122±10μs ~1.14 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'direct')
113±10μs 107±5μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'transformation')
135±10μs 108±4μs ~0.80 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'direct')
114±6μs 105±2μs 0.92 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'transformation')