Skip to content

PERF: performance regression in 1.0 compared to 0.25 #30790

Closed
@jorisvandenbossche

Description

@jorisvandenbossche

I ran a full benchmark on a separate machine locally, comparing current master against 0.25.3.

Some identified cases:

Full results:

       before           after         ratio
     [62a87bf4]       [526b2f36]
     <v0.25.3^0>       <benchmarks-run>
+      31.4±0.4ms          127±1ms     4.03  eval.Eval.time_chained_cmp('python', 'all')
+      41.7±0.4ms        129±0.9ms     3.08  eval.Eval.time_chained_cmp('python', 1)
+     12.5±0.04μs       37.1±0.2μs     2.98  indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'non_monotonic')
+     14.8±0.07μs       38.3±0.6μs     2.59  indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'unique_monotonic_inc')
+        87.8±8μs         220±20μs     2.50  indexing.NumericSeriesIndexing.time_getitem_scalar(<class 'pandas.core.indexes.numeric.Int64Index'>, 'nonunique_monotonic_inc')
+      58.4±0.2μs        142±0.3μs     2.43  ctors.SeriesDtypesConstructors.time_index_from_array_string
+         208±2μs          502±3μs     2.41  groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'transformation')
+         208±1μs          497±2μs     2.39  groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'direct')
+       210±0.7μs          499±7μs     2.38  groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'transformation')
+         209±2μs          496±3μs     2.37  groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'direct')
+         210±2μs          497±2μs     2.37  groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'transformation')
+         213±2μs          504±6μs     2.37  groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'transformation')
+      20.8±0.3μs       49.2±0.6μs     2.36  indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'nonunique_monotonic_inc')
+         210±1μs          497±4μs     2.36  groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'direct')
+         213±2μs          503±2μs     2.36  groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'direct')
+         214±3μs          504±2μs     2.36  groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'transformation')
+         213±2μs          500±3μs     2.35  groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'direct')
+         218±2μs          513±2μs     2.35  groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'direct')
+         215±1μs          505±2μs     2.35  groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'direct')
+       213±0.9μs          499±3μs     2.34  groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'transformation')
+         219±2μs          514±2μs     2.34  groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'transformation')
+       215±0.9μs          504±3μs     2.34  groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'transformation')
+         214±1μs          501±3μs     2.34  groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'transformation')
+         219±1μs          512±2μs     2.33  groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'transformation')
+         219±2μs          511±1μs     2.33  groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'transformation')
+         213±2μs          497±3μs     2.33  groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'direct')
+         220±2μs          514±2μs     2.33  groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'direct')
+         220±2μs          513±3μs     2.33  groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'direct')
+         221±2μs          512±4μs     2.32  groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'transformation')
+         216±2μs          500±2μs     2.32  groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'direct')
+         220±2μs          509±1μs     2.32  groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'direct')
+         217±1μs          498±2μs     2.30  groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'direct')
+         218±2μs          498±2μs     2.29  groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'transformation')
+       219±0.5μs          497±1μs     2.27  groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'direct')
+       218±0.6μs        496±0.9μs     2.27  groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'transformation')
+         583±3ms          1.32±0s     2.27  groupby.Apply.time_copy_overhead_single_col
+       223±0.7μs        495±0.8μs     2.22  groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct')
+      1.47±0.01s       3.26±0.01s     2.21  groupby.Apply.time_copy_function_multi_col
+         223±1μs        494±0.6μs     2.21  groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'transformation')
+        28.2±2ms       62.2±0.4ms     2.21  frame_methods.Apply.time_apply_ref_by_name
+      7.63±0.2ms       16.8±0.1ms     2.20  timeseries.AsOf.time_asof('DataFrame')
+       228±0.9μs          494±1μs     2.17  groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'direct')
+       229±0.4μs          493±1μs     2.15  groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'transformation')
+         237±1μs        509±0.2μs     2.14  groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct')
+       238±0.4μs        509±0.6μs     2.14  groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation')
+       231±0.9μs        493±0.8μs     2.14  groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'transformation')
+         234±5μs          500±1μs     2.14  groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'direct')
+       231±0.9μs        491±0.5μs     2.13  groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'direct')
+         236±3μs          499±2μs     2.12  groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'transformation')
+       250±0.4μs          511±1μs     2.05  groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct')
+       253±0.5μs          517±1μs     2.04  groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'transformation')
+       250±0.6μs        509±0.5μs     2.03  groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'transformation')
+         255±2μs          517±2μs     2.03  groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct')
+        2.16±0ms       4.32±0.3ms     2.00  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'sum')
+         285±3μs          566±7μs     1.99  groupby.GroupByMethods.time_dtype_as_field('datetime', 'last', 'transformation')
+     2.17±0.02ms       4.30±0.7ms     1.99  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'sum')
+         285±3μs          564±2μs     1.97  groupby.GroupByMethods.time_dtype_as_field('datetime', 'last', 'direct')
+       296±0.9μs          577±3μs     1.94  groupby.GroupByMethods.time_dtype_as_field('datetime', 'first', 'transformation')
+      25.3±0.2μs       49.2±0.4μs     1.94  indexing.NumericSeriesIndexing.time_getitem_scalar(<class 'pandas.core.indexes.numeric.Int64Index'>, 'unique_monotonic_inc')
+     2.29±0.01ms       4.46±0.3ms     1.94  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'mean')
+         298±2μs          577±1μs     1.93  groupby.GroupByMethods.time_dtype_as_field('datetime', 'first', 'direct')
+     2.30±0.04ms       4.43±0.6ms     1.93  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'mean')
+         285±1μs        545±0.4μs     1.91  groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct')
+         285±1μs          544±2μs     1.91  groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'direct')
+         285±1μs          544±1μs     1.91  groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'transformation')
+       286±0.5μs        545±0.8μs     1.91  groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'transformation')
+         290±1μs          552±2μs     1.90  groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'transformation')
+         289±2μs          551±1μs     1.90  groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'transformation')
+         289±3μs        548±0.8μs     1.90  groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'direct')
+       290±0.6μs        549±0.6μs     1.90  groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'direct')
+      2.96±0.2ms       5.50±0.4ms     1.86  rolling.ExpandingMethods.time_expanding('Series', 'int', 'sum')
+         312±3μs          572±1μs     1.83  groupby.GroupByMethods.time_dtype_as_field('datetime', 'max', 'transformation')
+         311±2μs          569±3μs     1.83  groupby.GroupByMethods.time_dtype_as_field('datetime', 'max', 'direct')
+         327±3μs         599±10μs     1.83  groupby.GroupByMethods.time_dtype_as_field('float', 'last', 'direct')
+         330±2μs          596±2μs     1.81  groupby.GroupByMethods.time_dtype_as_field('float', 'last', 'transformation')
+         327±1μs        583±0.9μs     1.78  groupby.GroupByMethods.time_dtype_as_field('datetime', 'min', 'direct')
+         326±1μs          582±2μs     1.78  groupby.GroupByMethods.time_dtype_as_field('datetime', 'min', 'transformation')
+      3.24±0.2ms       5.72±0.4ms     1.76  rolling.ExpandingMethods.time_expanding('Series', 'int', 'mean')
+         345±3μs          607±3μs     1.76  groupby.GroupByMethods.time_dtype_as_field('float', 'first', 'transformation')
+         347±2μs          610±3μs     1.76  groupby.GroupByMethods.time_dtype_as_field('float', 'first', 'direct')
+     3.32±0.04ms       5.77±0.4ms     1.74  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'kurt')
+     2.19±0.01ms      3.80±0.07ms     1.73  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'nearest')
+     1.98±0.02ms       3.44±0.4ms     1.73  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'sum')
+     2.19±0.01ms      3.79±0.02ms     1.73  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'lower')
+     2.20±0.01ms      3.79±0.02ms     1.73  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'linear')
+     2.19±0.02ms       3.79±0.1ms     1.73  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'higher')
+     2.20±0.01ms         3.79±0ms     1.73  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'lower')
+     2.20±0.01ms      3.79±0.02ms     1.72  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'higher')
+     2.19±0.01ms      3.77±0.01ms     1.72  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'midpoint')
+     3.37±0.07ms       5.79±0.5ms     1.72  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'kurt')
+     2.20±0.02ms      3.78±0.08ms     1.72  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'linear')
+     2.20±0.01ms      3.78±0.01ms     1.72  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'midpoint')
+     2.20±0.01ms      3.77±0.01ms     1.72  rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'nearest')
+        2.18±0ms      3.74±0.07ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'nearest')
+         355±2μs          608±4μs     1.71  groupby.GroupByMethods.time_dtype_as_field('float', 'sum', 'transformation')
+        2.17±0ms      3.72±0.07ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'midpoint')
+     2.18±0.01ms       3.73±0.1ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'higher')
+     2.18±0.01ms      3.73±0.09ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'midpoint')
+         354±2μs          606±1μs     1.71  groupby.GroupByMethods.time_dtype_as_field('float', 'sum', 'direct')
+      3.24±0.2ms       5.54±0.4ms     1.71  rolling.Methods.time_rolling('Series', 1000, 'int', 'sum')
+       390±0.8μs          666±1μs     1.71  groupby.GroupByMethods.time_dtype_as_field('float', 'ffill', 'transformation')
+     2.18±0.01ms       3.72±0.1ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'linear')
+     2.18±0.01ms      3.71±0.08ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'linear')
+     2.18±0.01ms      3.73±0.08ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'lower')
+        2.18±0ms      3.72±0.07ms     1.71  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'higher')
+         355±2μs          606±4μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'mean', 'direct')
+     2.18±0.01ms      3.71±0.07ms     1.70  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'nearest')
+       356±0.6μs          606±2μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'mean', 'transformation')
+     2.18±0.01ms      3.71±0.08ms     1.70  rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'lower')
+       389±0.8μs          662±1μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'bfill', 'transformation')
+         357±1μs          607±2μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'prod', 'direct')
+       390±0.9μs          662±2μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'ffill', 'direct')
+       390±0.6μs          661±2μs     1.70  groupby.GroupByMethods.time_dtype_as_field('float', 'bfill', 'direct')
+     3.28±0.06ms       5.55±0.5ms     1.69  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'skew')
+      3.36±0.2ms       5.68±0.4ms     1.69  rolling.Methods.time_rolling('Series', 1000, 'int', 'mean')
+       352±0.5μs        595±0.4μs     1.69  groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'transformation')
+         359±2μs          605±3μs     1.69  groupby.GroupByMethods.time_dtype_as_field('float', 'prod', 'transformation')
+       352±0.9μs          594±2μs     1.69  groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct')
+         368±2μs          619±2μs     1.68  groupby.GroupByMethods.time_dtype_as_field('float', 'var', 'transformation')
+         366±2μs          616±4μs     1.68  groupby.GroupByMethods.time_dtype_as_field('float', 'min', 'transformation')
+         369±2μs        620±0.8μs     1.68  groupby.GroupByMethods.time_dtype_as_field('float', 'var', 'direct')
+         366±1μs          612±1μs     1.67  groupby.GroupByMethods.time_dtype_as_field('float', 'min', 'direct')
+       364±0.7μs          608±2μs     1.67  groupby.GroupByMethods.time_dtype_as_field('float', 'max', 'transformation')
+         364±1μs          607±2μs     1.67  groupby.GroupByMethods.time_dtype_as_field('float', 'max', 'direct')
+       395±0.5μs        659±0.8μs     1.67  groupby.GroupByMethods.time_dtype_as_field('datetime', 'bfill', 'direct')
+       395±0.7μs          659±2μs     1.67  groupby.GroupByMethods.time_dtype_as_field('datetime', 'ffill', 'direct')
+       394±0.6μs          657±2μs     1.67  groupby.GroupByMethods.time_dtype_as_field('datetime', 'bfill', 'transformation')
+       395±0.1μs          655±1μs     1.66  groupby.GroupByMethods.time_dtype_as_field('datetime', 'ffill', 'transformation')
+         392±1μs          649±1μs     1.65  groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'transformation')
+         393±2μs          650±1μs     1.65  groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'direct')
+         392±3μs          646±3μs     1.65  groupby.GroupByMethods.time_dtype_as_field('float', 'median', 'transformation')
+         391±2μs          644±2μs     1.65  groupby.GroupByMethods.time_dtype_as_field('float', 'median', 'direct')
+      3.86±0.1ms      6.34±0.03ms     1.64  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'count')
+       397±0.6μs          652±2μs     1.64  groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'transformation')
+       410±0.5μs          671±2μs     1.64  groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'transformation')
+         410±2μs          670±1μs     1.63  groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'direct')
+         398±1μs          650±1μs     1.63  groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'direct')
+         421±1μs        688±0.8μs     1.63  groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'transformation')
+      2.87±0.2ms       4.68±0.3ms     1.63  rolling.ExpandingMethods.time_expanding('Series', 'float', 'sum')
+         422±2μs          688±1μs     1.63  groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'direct')
+         419±2μs          684±3μs     1.63  groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'direct')
+         404±2μs          658±2μs     1.63  groupby.GroupByMethods.time_dtype_as_field('int', 'last', 'direct')
+         418±1μs          682±3μs     1.63  groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'transformation')
+         405±2μs          659±2μs     1.63  groupby.GroupByMethods.time_dtype_as_field('int', 'last', 'transformation')
+         421±2μs          684±2μs     1.62  groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'direct')
+       422±0.8μs          681±2μs     1.61  groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'transformation')
+     7.11±0.09ms       11.4±0.3ms     1.61  timeseries.AsOf.time_asof_nan('DataFrame')
+         429±2μs          686±1μs     1.60  groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'direct')
+         420±1μs        671±0.8μs     1.60  groupby.GroupByMethods.time_dtype_as_field('int', 'first', 'transformation')
+       421±0.9μs          672±1μs     1.60  groupby.GroupByMethods.time_dtype_as_field('int', 'first', 'direct')
+       427±0.7μs          681±1μs     1.60  groupby.GroupByMethods.time_dtype_as_group('int', 'first', 'transformation')
+         427±1μs          681±2μs     1.59  groupby.GroupByMethods.time_dtype_as_group('int', 'first', 'direct')
+         430±3μs        687±0.7μs     1.59  groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'transformation')
+         448±1μs          708±2μs     1.58  groupby.GroupByMethods.time_dtype_as_group('float', 'ffill', 'transformation')
+       449±0.7μs          708±2μs     1.58  groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'direct')
+         448±1μs          706±1μs     1.58  groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'transformation')
+         449±1μs          706±2μs     1.57  groupby.GroupByMethods.time_dtype_as_group('float', 'ffill', 'direct')
+     2.02±0.02ms       3.17±0.6ms     1.57  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'sum')
+         453±2μs          710±3μs     1.57  groupby.GroupByMethods.time_dtype_as_group('int', 'bfill', 'direct')
+         452±2μs          707±1μs     1.57  groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'direct')
+     3.85±0.06ms      6.02±0.02ms     1.56  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'count')
+         450±1μs        703±0.9μs     1.56  groupby.GroupByMethods.time_dtype_as_field('int', 'bfill', 'transformation')
+         449±1μs          700±1μs     1.56  groupby.GroupByMethods.time_dtype_as_field('int', 'ffill', 'transformation')
+     3.91±0.07ms      6.09±0.06ms     1.56  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'count')
+         452±2μs          705±2μs     1.56  groupby.GroupByMethods.time_dtype_as_group('int', 'bfill', 'transformation')
+         453±2μs          706±2μs     1.56  groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'transformation')
+         450±1μs          700±1μs     1.56  groupby.GroupByMethods.time_dtype_as_field('int', 'bfill', 'direct')
+      4.12±0.1ms      6.41±0.04ms     1.55  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'count')
+         450±1μs        700±0.9μs     1.55  groupby.GroupByMethods.time_dtype_as_field('int', 'ffill', 'direct')
+     3.16±0.02ms      4.91±0.09ms     1.55  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'min')
+     4.04±0.06ms       6.27±0.1ms     1.55  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'count')
+     3.11±0.01ms      4.81±0.08ms     1.55  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'higher')
+         447±1μs          691±1μs     1.55  groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'direct')
+     3.11±0.01ms      4.81±0.08ms     1.55  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'linear')
+       446±0.9μs        689±0.9μs     1.55  groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'transformation')
+         521±1μs          805±2μs     1.54  groupby.GroupByMethods.time_dtype_as_field('datetime', 'quantile', 'transformation')
+         446±2μs          688±2μs     1.54  groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'transformation')
+     3.17±0.01ms      4.89±0.08ms     1.54  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'max')
+       448±0.8μs        690±0.4μs     1.54  groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'transformation')
+         448±1μs          691±1μs     1.54  groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'direct')
+     1.83±0.01ms       2.83±0.3ms     1.54  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'sum')
+     3.13±0.02ms      4.82±0.06ms     1.54  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'lower')
+       442±0.5μs        680±0.4μs     1.54  groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'transformation')
+     3.10±0.02ms      4.76±0.08ms     1.54  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'max')
+       444±0.7μs          682±1μs     1.53  groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'transformation')
+      13.7±0.9μs       21.1±0.2μs     1.53  algorithms.MaybeConvertObjects.time_maybe_convert_objects
+       441±0.8μs        676±0.8μs     1.53  groupby.GroupByMethods.time_dtype_as_field('int', 'max', 'direct')
+       442±0.8μs        679±0.7μs     1.53  groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'direct')
+         448±2μs          687±2μs     1.53  groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'direct')
+     3.13±0.01ms      4.80±0.07ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'midpoint')
+     4.08±0.06ms       6.26±0.1ms     1.53  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'count')
+         524±2μs          803±2μs     1.53  groupby.GroupByMethods.time_dtype_as_field('datetime', 'quantile', 'direct')
+         479±1μs        735±0.2μs     1.53  groupby.GroupByMethods.time_dtype_as_field('int', 'var', 'transformation')
+     3.13±0.01ms      4.80±0.07ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'linear')
+     3.10±0.01ms      4.76±0.07ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'lower')
+       447±0.4μs          685±2μs     1.53  groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'transformation')
+     3.13±0.01ms      4.79±0.08ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'nearest')
+       443±0.7μs          678±1μs     1.53  groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'transformation')
+       445±0.7μs        681±0.9μs     1.53  groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'direct')
+     3.13±0.01ms      4.79±0.06ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'higher')
+       443±0.5μs          677±1μs     1.53  groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'direct')
+     3.11±0.01ms      4.76±0.09ms     1.53  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'midpoint')
+         447±2μs          683±1μs     1.53  groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'direct')
+     3.14±0.03ms      4.79±0.09ms     1.53  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'min')
+     3.12±0.01ms      4.75±0.08ms     1.52  rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'nearest')
+     3.28±0.02ms      4.99±0.09ms     1.52  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'max')
+     3.29±0.05ms       5.01±0.1ms     1.52  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'min')
+      4.40±0.3ms       6.68±0.4ms     1.52  rolling.ExpandingMethods.time_expanding('Series', 'int', 'kurt')
+      18.8±0.2μs       28.6±0.3μs     1.52  categoricals.CategoricalSlicing.time_getitem_list_like('monotonic_incr')
+         444±1μs          674±2μs     1.52  groupby.GroupByMethods.time_dtype_as_field('int', 'max', 'transformation')
+         481±3μs          731±2μs     1.52  groupby.GroupByMethods.time_dtype_as_field('int', 'var', 'direct')
+         497±3μs          753±2μs     1.52  groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'transformation')
+      19.0±0.4μs       28.8±0.3μs     1.51  categoricals.CategoricalSlicing.time_getitem_list_like('monotonic_decr')
+         497±3μs          753±2μs     1.51  groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'direct')
+     2.17±0.02ms       3.28±0.6ms     1.51  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'mean')
+     3.26±0.01ms      4.90±0.01ms     1.51  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'min')
+     3.24±0.01ms      4.87±0.02ms     1.50  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'max')
+      19.1±0.5μs       28.6±0.2μs     1.50  categoricals.CategoricalSlicing.time_getitem_list_like('non_monotonic')
+     2.02±0.04ms       3.03±0.4ms     1.50  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'sum')
+     3.28±0.01ms      4.91±0.01ms     1.50  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'max')
+       106±0.5μs          158±1μs     1.50  timeseries.SortIndex.time_sort_index(True)
+     3.33±0.05ms      4.96±0.01ms     1.49  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'min')
+     3.16±0.01ms      4.70±0.01ms     1.49  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'max')
+     3.16±0.02ms      4.70±0.02ms     1.49  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'midpoint')
+     3.17±0.01ms      4.70±0.03ms     1.48  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'lower')
+     3.17±0.01ms      4.70±0.03ms     1.48  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'linear')
+     3.16±0.01ms      4.69±0.02ms     1.48  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'higher')
+      4.55±0.3ms       6.73±0.4ms     1.48  rolling.Methods.time_rolling('Series', 1000, 'int', 'kurt')
+      3.14±0.2ms       4.65±0.3ms     1.48  rolling.Methods.time_rolling('Series', 10, 'float', 'sum')
+     2.18±0.03ms       3.23±0.2ms     1.48  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'mean')
+     3.21±0.01ms      4.74±0.01ms     1.48  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'min')
+     3.17±0.02ms      4.69±0.02ms     1.48  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'nearest')
+     3.22±0.02ms      4.75±0.02ms     1.47  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'midpoint')
+      3.14±0.2ms       4.62±0.3ms     1.47  rolling.Methods.time_rolling('Series', 1000, 'float', 'sum')
+     3.22±0.02ms      4.75±0.03ms     1.47  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'nearest')
+     3.22±0.02ms      4.73±0.02ms     1.47  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'linear')
+         585±2μs          859±3μs     1.47  multiindex_object.Values.time_datetime_level_values_sliced
+     3.23±0.01ms      4.74±0.02ms     1.47  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'higher')
+     3.22±0.02ms      4.72±0.01ms     1.46  rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'lower')
+      4.56±0.3ms       6.67±0.4ms     1.46  rolling.ExpandingMethods.time_expanding('Series', 'int', 'skew')
+     2.16±0.04ms       3.16±0.7ms     1.46  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'mean')
+      3.27±0.2ms       4.78±0.3ms     1.46  rolling.Methods.time_rolling('Series', 10, 'float', 'mean')
+         538±3μs          786±3μs     1.46  groupby.GroupByMethods.time_dtype_as_field('float', 'std', 'direct')
+     2.03±0.01ms       2.96±0.4ms     1.46  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'mean')
+         541±2μs          787±4μs     1.46  groupby.GroupByMethods.time_dtype_as_field('float', 'std', 'transformation')
+     3.31±0.05ms       4.82±0.8ms     1.45  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'skew')
+      4.51±0.3ms       6.55±0.4ms     1.45  rolling.Methods.time_rolling('Series', 1000, 'int', 'skew')
+         643±2μs          934±2μs     1.45  groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'direct')
+         645±2μs          936±2μs     1.45  groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'transformation')
+      3.23±0.2ms       4.69±0.4ms     1.45  rolling.Methods.time_rolling('Series', 10, 'int', 'sum')
+      3.28±0.2ms       4.76±0.3ms     1.45  rolling.Methods.time_rolling('Series', 1000, 'float', 'mean')
+         627±1μs          909±3μs     1.45  groupby.GroupByMethods.time_dtype_as_field('int', 'quantile', 'direct')
+       628±0.7μs          911±2μs     1.45  groupby.GroupByMethods.time_dtype_as_field('int', 'quantile', 'transformation')
+         638±1μs          924±3μs     1.45  groupby.GroupByMethods.time_dtype_as_group('int', 'quantile', 'direct')
+       641±0.9μs          928±2μs     1.45  groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'direct')
+         641±1μs          926±1μs     1.45  groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'transformation')
+         638±2μs          921±3μs     1.44  groupby.GroupByMethods.time_dtype_as_group('int', 'quantile', 'transformation')
+         633±1μs          914±5μs     1.44  groupby.GroupByMethods.time_dtype_as_field('float', 'quantile', 'direct')
+         633±2μs          911±1μs     1.44  groupby.GroupByMethods.time_dtype_as_field('float', 'quantile', 'transformation')
+      3.16±0.2ms       4.54±0.4ms     1.44  rolling.ExpandingMethods.time_expanding('Series', 'float', 'mean')
+      3.36±0.2ms       4.83±0.4ms     1.44  rolling.Methods.time_rolling('Series', 10, 'int', 'mean')
+         599±1μs          858±2μs     1.43  groupby.GroupByMethods.time_dtype_as_field('object', 'ffill', 'direct')
+         598±1μs          856±3μs     1.43  groupby.GroupByMethods.time_dtype_as_field('object', 'bfill', 'direct')
+         599±1μs          856±2μs     1.43  groupby.GroupByMethods.time_dtype_as_field('object', 'bfill', 'transformation')
+         601±1μs          859±2μs     1.43  groupby.GroupByMethods.time_dtype_as_field('object', 'ffill', 'transformation')
+      8.43±0.7ms       11.9±0.2ms     1.41  series_methods.NanOps.time_func('std', 1000000, 'float64')
+     3.14±0.02ms       4.40±0.4ms     1.40  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'kurt')
+      7.77±0.2ms      10.8±0.02ms     1.39  timeseries.ResampleSeries.time_resample('period', '5min', 'ohlc')
+         651±3μs          900±2μs     1.38  groupby.GroupByMethods.time_dtype_as_field('int', 'std', 'direct')
+         653±3μs          898±2μs     1.38  groupby.GroupByMethods.time_dtype_as_field('int', 'std', 'transformation')
+     3.22±0.02ms       4.41±0.3ms     1.37  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'kurt')
+     5.65±0.06ms      7.75±0.09ms     1.37  indexing.NonNumericSeriesIndexing.time_getitem_list_like('string', 'nonunique_monotonic_inc')
+         679±2μs          930±3μs     1.37  groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'transformation')
+         681±3μs          930±3μs     1.37  groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'direct')
+     3.19±0.02ms       4.35±0.8ms     1.37  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'kurt')
+        753±10μs      1.03±0.01ms     1.36  groupby.GroupByMethods.time_dtype_as_field('object', 'all', 'direct')
+        752±10μs      1.02±0.01ms     1.36  groupby.GroupByMethods.time_dtype_as_field('object', 'all', 'transformation')
+        756±10μs      1.03±0.01ms     1.36  groupby.GroupByMethods.time_dtype_as_field('object', 'any', 'direct')
+      3.26±0.2ms       4.41±0.1ms     1.35  rolling.Quantile.time_quantile('Series', 10, 'int', 1, 'higher')
+      3.26±0.2ms      4.40±0.09ms     1.35  rolling.Quantile.time_quantile('Series', 10, 'int', 0, 'higher')
+         761±7μs      1.03±0.01ms     1.35  groupby.GroupByMethods.time_dtype_as_field('object', 'any', 'transformation')
+      3.27±0.2ms       4.40±0.1ms     1.35  rolling.Quantile.time_quantile('Series', 10, 'int', 1, 'midpoint')
+      3.26±0.2ms       4.39±0.1ms     1.35  rolling.Quantile.time_quantile('Series', 10, 'int', 1, 'lower')
+      3.26±0.2ms       4.39±0.1ms     1.35  rolling.Quantile.time_quantile('Series', 10, 'int', 1, 'nearest')
+     6.49±0.09ms       8.73±0.2ms     1.35  timeseries.ResampleSeries.time_resample('period', '1D', 'ohlc')
+      3.26±0.2ms       4.38±0.1ms     1.34  rolling.Quantile.time_quantile('Series', 10, 'int', 1, 'linear')
+     3.32±0.04ms       4.46±0.4ms     1.34  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'skew')
+     3.81±0.03ms       5.11±0.1ms     1.34  rolling.ExpandingMethods.time_expanding('Series', 'int', 'std')
+      3.26±0.2ms       4.38±0.1ms     1.34  rolling.Quantile.time_quantile('Series', 10, 'int', 0, 'linear')
+     3.00±0.01ms       4.03±0.2ms     1.34  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'kurt')
+      3.29±0.2ms       4.40±0.1ms     1.34  rolling.Quantile.time_quantile('Series', 10, 'int', 0, 'nearest')
+      3.24±0.2ms      4.33±0.05ms     1.34  rolling.Quantile.time_quantile('Series', 1000, 'int', 1, 'linear')
+     16.5±0.06μs       22.0±0.3μs     1.34  categoricals.CategoricalSlicing.time_getitem_slice('monotonic_decr')
+      3.29±0.2ms       4.40±0.1ms     1.34  rolling.Quantile.time_quantile('Series', 10, 'int', 0, 'midpoint')
+      3.25±0.2ms      4.33±0.05ms     1.34  rolling.Quantile.time_quantile('Series', 1000, 'int', 0, 'lower')
+      4.45±0.3ms       5.94±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 1, 'nearest')
+      4.45±0.3ms       5.93±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 1, 'linear')
+      4.45±0.3ms       5.91±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 1, 'higher')
+     1.04±0.01ms      1.39±0.01ms     1.33  ctors.SeriesConstructors.time_series_constructor(<class 'list'>, False, 'float')
+      3.29±0.2ms      4.37±0.06ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 0, 'nearest')
+      3.25±0.2ms      4.32±0.05ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 1, 'midpoint')
+     1.09±0.01ms      1.45±0.01ms     1.33  ctors.SeriesConstructors.time_series_constructor(<class 'list'>, True, 'float')
+      4.50±0.3ms       5.97±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 0, 'linear')
+      3.31±0.2ms       4.39±0.1ms     1.33  rolling.Quantile.time_quantile('Series', 10, 'int', 0, 'lower')
+      4.45±0.3ms       5.91±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 1, 'lower')
+      3.25±0.3ms      4.32±0.06ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 0, 'midpoint')
+      3.25±0.2ms      4.31±0.05ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 0, 'linear')
+      3.25±0.2ms      4.32±0.05ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 1, 'higher')
+      4.49±0.3ms       5.97±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 0, 'higher')
+      3.26±0.2ms      4.32±0.05ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'int', 1, 'nearest')
+      25.2±0.4ms       33.4±0.4ms     1.33  io.hdf.HDF.time_read_hdf('fixed')
+      4.45±0.3ms       5.90±0.4ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 1, 'midpoint')
+      4.51±0.3ms       5.98±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 0, 'nearest')
+      4.51±0.3ms       5.98±0.3ms     1.33  rolling.Quantile.time_quantile('Series', 1000, 'float', 0, 'midpoint')
+     5.98±0.01ms       7.92±0.1ms     1.32  indexing.NonNumericSeriesIndexing.time_getitem_list_like('string', 'non_monotonic')
+      3.25±0.2ms      4.31±0.05ms     1.32  rolling.Quantile.time_quantile('Series', 1000, 'int', 1, 'lower')
+     3.15±0.03ms       4.17±0.3ms     1.32  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'skew')
+     3.14±0.02ms       4.15±0.8ms     1.32  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'skew')
+      4.52±0.3ms       5.97±0.3ms     1.32  rolling.Quantile.time_quantile('Series', 1000, 'float', 0, 'lower')
+     5.94±0.06ms       7.85±0.1ms     1.32  indexing.NonNumericSeriesIndexing.time_getitem_list_like('string', 'unique_monotonic_inc')
+      4.56±0.3ms       6.01±0.4ms     1.32  rolling.Methods.time_rolling('Series', 10, 'int', 'kurt')
+      3.28±0.2ms      4.32±0.05ms     1.32  rolling.Quantile.time_quantile('Series', 1000, 'int', 0, 'higher')
+      17.0±0.2μs       22.4±0.2μs     1.32  categoricals.CategoricalSlicing.time_getitem_slice('non_monotonic')
+     16.8±0.09μs       22.0±0.4μs     1.31  categoricals.CategoricalSlicing.time_getitem_slice('monotonic_incr')
+         540±5μs          708±9μs     1.31  period.Indexing.time_intersection
+      4.29±0.3ms       5.62±0.4ms     1.31  rolling.ExpandingMethods.time_expanding('Series', 'float', 'kurt')
+      4.39±0.3ms       5.71±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 0, 'nearest')
+      4.40±0.3ms       5.71±0.2ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 0, 'lower')
+         976±6μs      1.27±0.01ms     1.30  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'nonunique_monotonic_inc')
+      4.37±0.3ms       5.68±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 1, 'nearest')
+        962±10μs      1.25±0.02ms     1.30  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'non_monotonic')
+      4.37±0.3ms       5.68±0.3ms     1.30  rolling.Methods.time_rolling('Series', 10, 'float', 'max')
+      4.38±0.3ms       5.68±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 1, 'higher')
+      4.40±0.3ms       5.71±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 0, 'linear')
+      4.39±0.3ms       5.70±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 0, 'midpoint')
+         684±3μs          887±2μs     1.30  groupby.GroupByMethods.time_dtype_as_field('object', 'first', 'direct')
+      4.38±0.3ms      5.68±0.09ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 1, 'linear')
+      4.38±0.3ms       5.67±0.1ms     1.30  rolling.Quantile.time_quantile('Series', 10, 'float', 1, 'midpoint')
+      4.38±0.3ms       5.67±0.1ms     1.29  rolling.Quantile.time_quantile('Series', 10, 'float', 1, 'lower')
+      4.41±0.3ms       5.70±0.1ms     1.29  rolling.Quantile.time_quantile('Series', 10, 'float', 0, 'higher')
+     6.20±0.07μs       7.99±0.1μs     1.29  categoricals.Indexing.time_get_loc
+        1.24±0ms      1.59±0.01ms     1.29  frame_methods.Quantile.time_frame_quantile(1)
+        1.89±0ms      2.43±0.01ms     1.29  groupby.GroupByMethods.time_dtype_as_field('float', 'pct_change', 'direct')
+         685±5μs          882±2μs     1.29  groupby.GroupByMethods.time_dtype_as_field('object', 'first', 'transformation')
+      37.5±0.3ms       48.3±0.6ms     1.29  frame_ctor.FromDicts.time_nested_dict_index
+         679±3μs          873±3μs     1.29  groupby.GroupByMethods.time_dtype_as_field('object', 'last', 'direct')
+        1.89±0ms      2.43±0.01ms     1.29  groupby.GroupByMethods.time_dtype_as_field('float', 'pct_change', 'transformation')
+         405±2μs          521±3μs     1.29  index_object.IntervalIndexMethod.time_intersection(1000)
+         291±3μs          373±2μs     1.28  join_merge.Concat.time_concat_empty_left(1)
+         679±4μs          872±3μs     1.28  groupby.GroupByMethods.time_dtype_as_field('object', 'last', 'transformation')
+      4.39±0.3ms       5.63±0.2ms     1.28  rolling.Methods.time_rolling('Series', 10, 'float', 'min')
+         422±3μs          539±1μs     1.28  index_object.IntervalIndexMethod.time_intersection_one_duplicate(1000)
+         292±3μs          373±2μs     1.28  join_merge.Concat.time_concat_empty_right(1)
+         980±9μs      1.25±0.01ms     1.28  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'unique_monotonic_inc')
+         904±6μs      1.15±0.01ms     1.27  stat_ops.SeriesOps.time_op('std', 'float')
+       463±0.2ns          589±9ns     1.27  indexing.MethodLookup.time_lookup_iloc
+     3.17±0.01ms       4.04±0.2ms     1.27  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'skew')
+         689±2μs          874±1μs     1.27  groupby.GroupByMethods.time_dtype_as_field('int', 'prod', 'direct')
+      4.51±0.3ms       5.72±0.4ms     1.27  rolling.Methods.time_rolling('Series', 10, 'int', 'skew')
+         691±4μs          875±3μs     1.27  groupby.GroupByMethods.time_dtype_as_field('int', 'mean', 'direct')
+      37.8±0.1ms       47.8±0.7ms     1.27  frame_ctor.FromDicts.time_nested_dict_index_columns
+         831±6μs         1.05±0ms     1.27  indexing.NonNumericSeriesIndexing.time_getitem_list_like('datetime', 'non_monotonic')
+      4.44±0.3ms      5.61±0.07ms     1.26  rolling.Methods.time_rolling('Series', 1000, 'float', 'max')
+         689±3μs          871±2μs     1.26  groupby.GroupByMethods.time_dtype_as_field('int', 'prod', 'transformation')
+         703±1μs          888±2μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'transformation')
+         691±2μs          873±2μs     1.26  groupby.GroupByMethods.time_dtype_as_field('int', 'mean', 'transformation')
+         739±2μs          933±4μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'direct')
+         829±5μs         1.05±0ms     1.26  indexing.NonNumericSeriesIndexing.time_getitem_list_like('datetime', 'unique_monotonic_inc')
+      4.52±0.2ms      5.71±0.06ms     1.26  rolling.ExpandingMethods.time_expanding('Series', 'int', 'min')
+         703±2μs          887±2μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'direct')
+         633±5μs          798±2μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'direct')
+      4.49±0.3ms      5.66±0.08ms     1.26  rolling.Methods.time_rolling('Series', 1000, 'float', 'min')
+         737±1μs          928±1μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'transformation')
+         631±3μs          794±1μs     1.26  groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'transformation')
+     1.98±0.01ms         2.49±0ms     1.26  groupby.GroupByMethods.time_dtype_as_field('int', 'pct_change', 'direct')
+     2.81±0.05ms      3.52±0.01ms     1.26  rolling.Methods.time_rolling('DataFrame', 10, 'float', 'std')
+         731±3μs         918±20μs     1.26  groupby.GroupByMethods.time_dtype_as_field('int', 'median', 'transformation')
+         731±3μs          918±2μs     1.26  groupby.GroupByMethods.time_dtype_as_field('int', 'median', 'direct')
+      4.48±0.3ms       5.62±0.2ms     1.25  rolling.Methods.time_rolling('Series', 10, 'int', 'min')
+      4.52±0.2ms      5.67±0.07ms     1.25  rolling.ExpandingMethods.time_expanding('Series', 'int', 'max')
+        1.98±0ms      2.48±0.01ms     1.25  groupby.GroupByMethods.time_dtype_as_field('int', 'pct_change', 'transformation')
+         104±3μs        130±0.6μs     1.25  indexing.NumericSeriesIndexing.time_getitem_scalar(<class 'pandas.core.indexes.numeric.UInt64Index'>, 'unique_monotonic_inc')
+        2.07±0ms      2.58±0.01ms     1.25  groupby.GroupByMethods.time_dtype_as_group('int', 'pct_change', 'direct')
+      4.47±0.3ms       5.59±0.4ms     1.25  rolling.Methods.time_rolling('Series', 10, 'float', 'kurt')
+      4.46±0.2ms       5.58±0.2ms     1.25  rolling.ExpandingMethods.time_expanding('Series', 'float', 'max')
+         725±1μs          906±1μs     1.25  timeseries.ResetIndex.time_reest_datetimeindex('US/Eastern')
+         111±2ms          138±1ms     1.25  reshape.Cut.time_qcut_timedelta(1000)
+     1.08±0.01ms      1.35±0.01ms     1.25  indexing.NonNumericSeriesIndexing.time_getitem_list_like('period', 'non_monotonic')
+        2.06±0ms      2.57±0.01ms     1.25  groupby.GroupByMethods.time_dtype_as_group('int', 'pct_change', 'transformation')
+      37.6±0.4ms       46.8±0.6ms     1.25  frame_ctor.FromDicts.time_list_of_dict
+        1.18±0ms         1.47±0ms     1.24  groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'direct')
+      53.3±0.3μs       66.3±0.6μs     1.24  indexing.CategoricalIndexIndexing.time_getitem_list_like('monotonic_decr')
+     2.82±0.04ms      3.51±0.01ms     1.24  rolling.Methods.time_rolling('DataFrame', 1000, 'float', 'std')
+         468±3ns          582±3ns     1.24  indexing.MethodLookup.time_lookup_loc
+      53.7±0.5μs       66.7±0.4μs     1.24  indexing.CategoricalIndexIndexing.time_getitem_list_like('non_monotonic')
+      4.46±0.3ms       5.54±0.4ms     1.24  rolling.Methods.time_rolling('Series', 1000, 'float', 'kurt')
+      4.47±0.2ms       5.55±0.2ms     1.24  rolling.Methods.time_rolling('Series', 10, 'int', 'max')
+        1.18±0ms      1.47±0.01ms     1.24  groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'transformation')
+     2.21±0.01ms      2.75±0.01ms     1.24  groupby.GroupByMethods.time_dtype_as_group('float', 'pct_change', 'direct')
+     2.22±0.01ms         2.75±0ms     1.24  groupby.GroupByMethods.time_dtype_as_group('float', 'pct_change', 'transformation')
+      46.5±0.2ms       57.8±0.4ms     1.24  frame_ctor.FromDicts.time_nested_dict
+      53.6±0.6μs       66.5±0.6μs     1.24  indexing.CategoricalIndexIndexing.time_getitem_list_like('monotonic_incr')
+      4.48±0.3ms       5.55±0.2ms     1.24  rolling.ExpandingMethods.time_expanding('Series', 'float', 'min')
+         739±1μs          916±2μs     1.24  groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'direct')
+      36.5±0.8μs       45.2±0.2μs     1.24  indexing.CategoricalIndexIndexing.time_getitem_slice('monotonic_decr')
+         774±2μs          958±3μs     1.24  groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'direct')
+         765±1μs          946±3μs     1.24  groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'transformation')
+      12.6±0.3ms      15.5±0.08ms     1.24  io.hdf.HDFStoreDataFrame.time_query_store_table_wide
+      4.47±0.3ms       5.52±0.4ms     1.24  rolling.ExpandingMethods.time_expanding('Series', 'float', 'skew')
+         727±2μs          897±2μs     1.23  groupby.GroupByMethods.time_dtype_as_field('int', 'sum', 'transformation')
+      75.4±0.8ms       93.0±0.2ms     1.23  reshape.Cut.time_qcut_datetime(1000)
+         741±3μs          913±3μs     1.23  groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'direct')
+         766±3μs          943±2μs     1.23  groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'transformation')
+         743±2μs          914±1μs     1.23  groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'transformation')
+         768±2μs          945±2μs     1.23  groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'direct')
+         777±3μs        957±0.7μs     1.23  groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'transformation')
+         743±2μs          913±1μs     1.23  groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'transformation')
+     3.31±0.03μs      4.06±0.03μs     1.23  categoricals.Contains.time_categorical_index_contains
+      4.42±0.3ms       5.43±0.4ms     1.23  rolling.Methods.time_rolling('Series', 1000, 'float', 'skew')
+         730±3μs          896±2μs     1.23  groupby.GroupByMethods.time_dtype_as_field('int', 'sum', 'direct')
+         771±5μs          946±2μs     1.23  groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'direct')
+     2.98±0.02ms      3.65±0.01ms     1.23  rolling.Methods.time_rolling('DataFrame', 10, 'int', 'std')
+         770±3μs        943±0.7μs     1.23  groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'transformation')
+         156±1ms        191±0.3ms     1.22  inference.ToNumericDowncast.time_downcast('string-float', 'unsigned')
+        1.29±0ms      1.58±0.01ms     1.22  groupby.GroupByMethods.time_dtype_as_field('int', 'sem', 'direct')
+      4.43±0.3ms       5.42±0.4ms     1.22  rolling.Methods.time_rolling('Series', 10, 'float', 'skew')
+        1.29±0ms      1.57±0.01ms     1.22  groupby.GroupByMethods.time_dtype_as_field('int', 'sem', 'transformation')
+         770±9μs          941±2μs     1.22  groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'direct')
+      4.51±0.3ms       5.51±0.1ms     1.22  rolling.Methods.time_rolling('Series', 1000, 'int', 'max')
+       156±0.9ms        190±0.8ms     1.22  inference.ToNumericDowncast.time_downcast('string-float', 'integer')
+         147±3μs          180±1μs     1.22  indexing.NumericSeriesIndexing.time_getitem_slice(<class 'pandas.core.indexes.numeric.Int64Index'>, 'unique_monotonic_inc')
+       148±0.9μs        181±0.4μs     1.22  indexing.NumericSeriesIndexing.time_getitem_slice(<class 'pandas.core.indexes.numeric.UInt64Index'>, 'unique_monotonic_inc')
+        1.34±0ms      1.63±0.01ms     1.22  groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct')
+      47.3±0.1ms       57.7±0.7ms     1.22  frame_ctor.FromDicts.time_nested_dict_columns
+      4.57±0.3ms       5.57±0.1ms     1.22  rolling.Methods.time_rolling('Series', 1000, 'int', 'min')
+         156±2ms        190±0.4ms     1.22  inference.ToNumericDowncast.time_downcast('string-float', 'signed')
+       674±0.8μs          821±2μs     1.22  groupby.GroupByMethods.time_dtype_as_field('object', 'nunique', 'direct')
+     1.34±0.01ms      1.63±0.01ms     1.22  groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'transformation')
+         725±9μs          882±3μs     1.22  timeseries.ResetIndex.time_reest_datetimeindex(None)
+     8.02±0.05μs      9.75±0.04μs     1.22  categoricals.Indexing.time_shallow_copy
+       147±0.8μs        179±0.2μs     1.22  indexing.NumericSeriesIndexing.time_getitem_slice(<class 'pandas.core.indexes.numeric.Int64Index'>, 'nonunique_monotonic_inc')
+       148±0.3μs        180±0.3μs     1.22  indexing.NumericSeriesIndexing.time_getitem_slice(<class 'pandas.core.indexes.numeric.UInt64Index'>, 'nonunique_monotonic_inc')
+     1.17±0.02ms      1.41±0.01ms     1.21  indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'nonunique_monotonic_inc')
+     26.3±0.07ms      31.8±0.08ms     1.21  strings.Contains.time_contains(False)
+     3.00±0.01ms      3.62±0.01ms     1.21  rolling.Methods.time_rolling('DataFrame', 1000, 'int', 'std')
+     3.25±0.01ms      3.92±0.02ms     1.21  io.csv.ReadCSVFloatPrecision.time_read_csv(';', '.', 'round_trip')
+     2.99±0.03ms      3.61±0.01ms     1.21  rolling.ExpandingMethods.time_expanding('DataFrame', 'float', 'std')
+       458±0.4μs          553±3μs     1.21  categoricals.Constructor.time_from_codes_all_int8
+         326±4μs          394±7μs     1.21  reindex.Fillna.time_float_32('backfill')
+     3.23±0.01ms       3.90±0.7ms     1.21  rolling.VariableWindowMethods.time_rolling('DataFrame', '50s', 'int', 'sum')
+     3.21±0.02ms       3.88±0.7ms     1.21  rolling.VariableWindowMethods.time_rolling('DataFrame', '1h', 'int', 'sum')
+      66.8±0.6μs         80.5±1μs     1.20  categoricals.IsMonotonic.time_categorical_series_is_monotonic_increasing
+      11.5±0.2μs       13.8±0.7μs     1.20  indexing.CategoricalIndexIndexing.time_get_loc_scalar('monotonic_incr')
+        65.3±1ms         78.4±1ms     1.20  reshape.Cut.time_cut_timedelta(1000)
+     3.21±0.02ms       3.86±0.7ms     1.20  rolling.VariableWindowMethods.time_rolling('DataFrame', '1d', 'int', 'sum')
+     3.26±0.01ms      3.90±0.01ms     1.20  io.csv.ReadCSVFloatPrecision.time_read_csv(',', '.', 'round_trip')
+      67.0±0.6μs         80.0±1μs     1.20  categoricals.IsMonotonic.time_categorical_series_is_monotonic_decreasing
+     1.17±0.04μs      1.40±0.06μs     1.19  index_cached_properties.IndexCache.time_is_monotonic('RangeIndex')
+         942±2μs         1.13±0ms     1.19  groupby.GroupByMethods.time_dtype_as_field('datetime', 'cummin', 'transformation')
+     1.05±0.01ms      1.26±0.02ms     1.19  indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'non_monotonic')
+         943±2μs         1.12±0ms     1.19  groupby.GroupByMethods.time_dtype_as_field('datetime', 'cummin', 'direct')
+        38.3±2μs       45.6±0.4μs     1.19  indexing.CategoricalIndexIndexing.time_getitem_slice('monotonic_incr')
+     3.13±0.01ms      3.72±0.01ms     1.19  rolling.ExpandingMethods.time_expanding('DataFrame', 'int', 'std')
+      3.84±0.1ms       4.56±0.4ms     1.19  stat_ops.SeriesMultiIndexOps.time_op(0, 'mean')
+       473±0.8μs          562±2μs     1.19  timeseries.ToDatetimeCacheSmallCount.time_unique_date_strings(True, 50)
+     5.89±0.02ms      7.00±0.01ms     1.19  timeseries.ResampleSeries.time_resample('period', '5min', 'mean')
+         810±4μs          962±3μs     1.19  groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'direct')
+       472±0.9μs          561±2μs     1.19  timeseries.ToDatetimeCacheSmallCount.time_unique_date_strings(False, 50)
+         811±2μs          962±2μs     1.19  groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'transformation')
+     8.41±0.03μs       9.98±0.1μs     1.19  indexing.NonNumericSeriesIndexing.time_getitem_scalar('datetime', 'non_monotonic')
+      8.18±0.1ms      9.69±0.04ms     1.18  groupby.Apply.time_scalar_function_single_col
+      40.2±0.1μs         47.6±2μs     1.18  ctors.SeriesDtypesConstructors.time_index_from_array_floats
+       175±0.5μs          207±1μs     1.18  series_methods.NanOps.time_func('std', 1000, 'float64')
+     3.47±0.01ms       4.10±0.7ms     1.18  rolling.VariableWindowMethods.time_rolling('DataFrame', '1d', 'int', 'mean')
+     3.52±0.05ms       4.16±0.8ms     1.18  rolling.VariableWindowMethods.time_rolling('DataFrame', '50s', 'int', 'mean')
+     34.0±0.07ms       40.1±0.2ms     1.18  strings.Methods.time_len
+      43.3±0.3ms      51.0±0.08ms     1.18  reshape.Cut.time_cut_datetime(1000)
+      40.8±0.2ms         48.1±1ms     1.18  stat_ops.FrameMultiIndexOps.time_op(0, 'kurt')
+     3.50±0.01ms       4.13±0.7ms     1.18  rolling.VariableWindowMethods.time_rolling('DataFrame', '1h', 'int', 'mean')
+     3.63±0.02ms      4.28±0.04ms     1.18  rolling.Methods.time_rolling('Series', 1000, 'int', 'std')
+         303±4μs          357±5μs     1.18  join_merge.JoinNonUnique.time_join_non_unique_equal
+        38.5±1μs       45.2±0.4μs     1.18  indexing.CategoricalIndexIndexing.time_getitem_slice('non_monotonic')
+     5.97±0.02ms      7.02±0.04ms     1.17  indexing.MultiIndexing.time_index_slice
+      8.42±0.2ms       9.87±0.7ms     1.17  rolling.Methods.time_rolling('Series', 1000, 'int', 'count')
+     3.64±0.05ms      4.27±0.01ms     1.17  rolling.Methods.time_rolling('Series', 10, 'int', 'std')
+      8.45±0.2ms       9.89±0.7ms     1.17  rolling.Methods.time_rolling('Series', 10, 'int', 'count')
+      8.51±0.2ms       9.96±0.7ms     1.17  rolling.Methods.time_rolling('Series', 10, 'float', 'count')
+     1.50±0.04μs      1.76±0.09μs     1.17  index_cached_properties.IndexCache.time_is_monotonic_decreasing('Int64Index')
+     9.20±0.02ms      10.8±0.07ms     1.17  rolling.Pairwise.time_pairwise(None, 'corr', False)
+      8.51±0.2ms       9.95±0.7ms     1.17  rolling.Methods.time_rolling('Series', 1000, 'float', 'count')
+        1.28±0ms         1.49±0ms     1.16  series_methods.Map.time_map('dict', 'category')
+         561±7μs          651±3μs     1.16  timeseries.ToDatetimeCacheSmallCount.time_unique_date_strings(False, 500)
+         705±8ms          819±5ms     1.16  stat_ops.Correlation.time_corr_wide_nans('spearman')
+     4.68±0.02ms       5.43±0.7ms     1.16  rolling.VariableWindowMethods.time_rolling('DataFrame', '50s', 'int', 'kurt')
+         802±3μs         931±30μs     1.16  indexing.NonNumericSeriesIndexing.time_getitem_list_like('datetime', 'nonunique_monotonic_inc')
+         190±5ms          221±4ms     1.16  io.json.ToJSONISO.time_iso_format('records')
+         478±3μs          552±3μs     1.16  strings.Encode.time_encode_decode
+     4.33±0.02ms       5.00±0.7ms     1.15  rolling.VariableWindowMethods.time_rolling('DataFrame', '1d', 'int', 'skew')
+       225±0.5ms          260±2ms     1.15  io.json.ToJSONISO.time_iso_format('columns')
+         974±5μs         1.12±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cumprod', 'transformation')
+        1.20±0ms         1.39±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'direct')
+     7.71±0.01μs      8.89±0.02μs     1.15  dtypes.Dtypes.time_pandas_dtype('Int8')
+     6.32±0.01ms      7.28±0.02ms     1.15  rolling.Pairwise.time_pairwise(None, 'cov', False)
+         220±1μs        254±0.4μs     1.15  indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'non_monotonic')
+      21.2±0.1ms       24.4±0.1ms     1.15  reshape.Cut.time_qcut_datetime(10)
+       143±0.4μs        164±0.4μs     1.15  series_methods.NanOps.time_func('std', 1000, 'int64')
+         982±3μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cumsum', 'direct')
+        1.06±0ms      1.22±0.01ms     1.15  groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'transformation')
+      35.8±0.3ms       41.1±0.7ms     1.15  io.hdf.HDFStoreDataFrame.time_read_store_mixed
+         987±5μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cummax', 'direct')
+         194±4μs          223±3μs     1.15  timeseries.SortIndex.time_get_slice(False)
+        1.20±0ms         1.38±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'transformation')
+         981±3μs         1.12±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cumprod', 'direct')
+     8.08±0.03ms      9.26±0.08ms     1.15  reshape.Cut.time_cut_datetime(4)
+      19.8±0.2ms      22.7±0.07ms     1.15  reshape.Cut.time_qcut_datetime(4)
+         990±1μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cummin', 'direct')
+     1.24±0.04μs      1.43±0.04μs     1.15  index_cached_properties.IndexCache.time_is_monotonic('Int64Index')
+         989±2μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cumsum', 'transformation')
+         550±2ms          630±3ms     1.15  groupby.Groups.time_series_groups('int64_large')
+        1.07±0ms         1.23±0ms     1.15  groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'transformation')
+         989±3μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cummax', 'transformation')
+        1.05±0ms      1.21±0.01ms     1.15  groupby.GroupByMethods.time_dtype_as_field('int', 'cummax', 'transformation')
+         990±5μs         1.13±0ms     1.15  groupby.GroupByMethods.time_dtype_as_field('float', 'cummin', 'transformation')
+     4.62±0.02ms       5.30±0.7ms     1.15  rolling.VariableWindowMethods.time_rolling('DataFrame', '1d', 'int', 'kurt')
+         128±3ms          146±3ms     1.14  io.json.ToJSON.time_to_json('records', 'df_int_floats')
+        1.07±0ms      1.23±0.01ms     1.14  groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'direct')
+        1.07±0ms         1.23±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'direct')
+       196±0.5μs          224±1μs     1.14  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'nonunique_monotonic_inc')
+        1.07±0ms         1.23±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'transformation')
+        1.06±0ms      1.22±0.01ms     1.14  groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'direct')
+     4.67±0.02ms       5.34±0.7ms     1.14  rolling.VariableWindowMethods.time_rolling('DataFrame', '1h', 'int', 'kurt')
+     2.61±0.01ms      2.98±0.03ms     1.14  groupby.RankWithTies.time_rank_ties('int64', 'max')
+     2.80±0.01ms      3.21±0.01ms     1.14  ctors.SeriesConstructors.time_series_constructor(<class 'list'>, True, 'int')
+     4.34±0.05ms       4.96±0.8ms     1.14  rolling.VariableWindowMethods.time_rolling('DataFrame', '50s', 'int', 'skew')
+       143±0.2μs        163±0.2μs     1.14  series_methods.NanOps.time_func('std', 1000, 'int32')
+     2.58±0.01ms      2.94±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float32', 'average')
+       144±0.7μs        164±0.3μs     1.14  series_methods.NanOps.time_func('std', 1000, 'int8')
+        1.08±0ms      1.23±0.01ms     1.14  groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'direct')
+     2.55±0.01ms      2.92±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float64', 'average')
+     2.55±0.01ms      2.92±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float64', 'max')
+       128±0.7ms        146±0.5ms     1.14  io.json.ReadJSON.time_read_json('split', 'int')
+        1.05±0ms         1.20±0ms     1.14  groupby.GroupByMethods.time_dtype_as_field('int', 'cummax', 'direct')
+      37.6±0.1ms       42.9±0.1ms     1.14  strings.Methods.time_endswith
+     2.57±0.01ms      2.94±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float32', 'first')
+        1.08±0ms         1.23±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'transformation')
+     2.59±0.02ms      2.95±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float32', 'dense')
+        2.57±0ms      2.93±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float32', 'max')
+       196±0.5μs        224±0.3μs     1.14  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'non_monotonic')
+     8.07±0.02ms      9.20±0.06ms     1.14  sparse.Arithmetic.time_intersect(0.1, nan)
+        1.04±0ms         1.19±0ms     1.14  groupby.GroupByMethods.time_dtype_as_field('int', 'cumsum', 'transformation')
+        1.05±0ms         1.19±0ms     1.14  groupby.GroupByMethods.time_dtype_as_field('int', 'cumsum', 'direct')
+     2.61±0.02ms      2.97±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('int64', 'min')
+     2.55±0.01ms      2.91±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('float64', 'min')
+         189±1ms          215±1ms     1.14  io.json.ToJSONLines.time_float_int_lines
+        1.05±0ms         1.20±0ms     1.14  groupby.GroupByMethods.time_dtype_as_field('int', 'cummin', 'direct')
+     2.77±0.01ms      3.15±0.01ms     1.14  ctors.SeriesConstructors.time_series_constructor(<class 'list'>, False, 'int')
+     3.78±0.03ms      4.30±0.04ms     1.14  ctors.SeriesConstructors.time_series_constructor(<function arr_dict at 0x7f6536433620>, False, 'float')
+         238±2μs        271±0.4μs     1.14  indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'nonunique_monotonic_inc')
+     9.28±0.03ms      10.6±0.02ms     1.14  rolling.Pairwise.time_pairwise(1000, 'corr', False)
+     2.58±0.01ms      2.93±0.02ms     1.14  groupby.RankWithTies.time_rank_ties('float32', 'min')
+        1.06±0ms         1.20±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'transformation')
+     2.61±0.01ms      2.96±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('int64', 'average')
+        1.17±0ms         1.33±0ms     1.14  series_methods.Map.time_map('dict', 'int')
+        1.46±0ms      1.65±0.01ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'transformation')
+        1.06±0ms         1.21±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'transformation')
+        1.06±0ms         1.20±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'direct')
+     6.37±0.02ms      7.23±0.01ms     1.14  rolling.Pairwise.time_pairwise(1000, 'cov', False)
+     2.59±0.01ms      2.94±0.01ms     1.14  groupby.RankWithTies.time_rank_ties('datetime64', 'min')
+        1.06±0ms         1.21±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'cummax', 'transformation')
+        1.06±0ms         1.21±0ms     1.14  groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'direct')
+       133±0.8ms        151±0.7ms     1.14  io.json.ReadJSON.time_read_json('split', 'datetime')
+        1.06±0ms         1.21±0ms     1.13  groupby.GroupByMethods.time_dtype_as_group('int', 'cummax', 'direct')
+     4.00±0.03ms      4.54±0.04ms     1.13  ctors.SeriesConstructors.time_series_constructor(<function arr_dict at 0x7f6536433620>, True, 'float')
+     31.8±0.01ms      36.1±0.07ms     1.13  frame_methods.Equals.time_frame_nonunique_unequal
+     2.59±0.01ms         2.93±0ms     1.13  groupby.RankWithTies.time_rank_ties('datetime64', 'max')
+     9.24±0.02ms      10.5±0.02ms     1.13  rolling.Pairwise.time_pairwise(10, 'corr', False)
+     2.59±0.01ms      2.93±0.01ms     1.13  groupby.RankWithTies.time_rank_ties('datetime64', 'dense')
+       227±0.8μs          257±1μs     1.13  indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'unique_monotonic_inc')
+     2.33±0.01ms      2.64±0.01ms     1.13  io.csv.ReadCSVFloatPrecision.time_read_csv(';', '.', 'high')
+     2.58±0.01ms      2.92±0.01ms     1.13  groupby.RankWithTies.time_rank_ties('float64', 'dense')
+        1.36±0ms         1.54±0ms     1.13  groupby.GroupByMethods.time_dtype_as_field('float', 'rank', 'direct')
+     31.8±0.06ms      36.0±0.03ms     1.13  frame_methods.Equals.time_frame_nonunique_equal
+         226±7μs          256±1μs     1.13  timeseries.SortIndex.time_get_slice(True)
+     2.59±0.01ms      2.93±0.02ms     1.13  groupby.RankWithTies.time_rank_ties('datetime64', 'average')
+        1.06±0ms         1.20±0ms     1.13  groupby.GroupByMethods.time_dtype_as_field('int', 'cummin', 'transformation')
+        1.40±0ms      1.58±0.01ms     1.13  groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'direct')
+     2.62±0.01ms      2.96±0.01ms     1.13  groupby.RankWithTies.time_rank_ties('int64', 'dense')
+     9.41±0.03ms       10.6±0.1ms     1.13  reshape.Cut.time_cut_datetime(10)
+     2.62±0.01ms      2.96±0.01ms     1.13  groupby.RankWithTies.time_rank_ties('int64', 'first')
+        1.40±0ms         1.58±0ms     1.13  groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'transformation')
+        1.36±0ms         1.54±0ms     1.13  groupby.GroupByMethods.time_dtype_as_field('float', 'rank', 'transformation')
+      6.93±0.1μs       7.82±0.2μs     1.13  index_cached_properties.IndexCache.time_engine('DatetimeIndex')
+     2.33±0.01ms      2.63±0.01ms     1.13  io.csv.ReadCSVFloatPrecision.time_read_csv(',', '.', 'high')
+        1.41±0ms         1.59±0ms     1.13  groupby.GroupByMethods.time_dtype_as_group('float', 'rank', 'transformation')
+        1.40±0ms      1.58±0.01ms     1.13  groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'transformation')
+        1.40±0ms         1.58±0ms     1.13  groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'direct')
+     2.42±0.02ms      2.73±0.01ms     1.13  io.csv.ReadCSVFloatPrecision.time_read_csv(';', '.', None)
+     1.46±0.01ms      1.64±0.01ms     1.13  groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'direct')
+         159±4ms          179±4ms     1.13  io.json.ToJSON.time_to_json('index', 'df_int_floats')
+       183±0.5ms          207±2ms     1.13  io.json.ToJSONISO.time_iso_format('values')
+         294±2μs          332±3μs     1.13  inference.NumericInferOps.time_multiply(<class 'numpy.int8'>)
+     7.28±0.04ms      8.19±0.01ms     1.13  io.sas.SAS.time_read_sas('xport')
+     2.42±0.01ms      2.73±0.01ms     1.13  io.csv.ReadCSVFloatPrecision.time_read_csv(',', '.', None)
+        1.39±0ms         1.56±0ms     1.13  groupby.GroupByMethods.time_dtype_as_field('int', 'rank', 'transformation')
+        1.42±0ms         1.59±0ms     1.13  groupby.GroupByMethods.time_dtype_as_group('float', 'rank', 'direct')
+         224±5ms          252±4ms     1.13  io.json.ToJSONISO.time_iso_format('split')
+        692±10μs         779±20μs     1.13  inference.NumericInferOps.time_multiply(<class 'numpy.float32'>)
+     2.13±0.01ms         2.39±0ms     1.12  series_methods.Map.time_map('dict', 'object')
+     3.66±0.01ms      4.11±0.01ms     1.12  io.csv.ReadCSVParseDates.time_multiple_date
+        1.39±0ms         1.56±0ms     1.12  groupby.GroupByMethods.time_dtype_as_field('int', 'rank', 'direct')
+        86.7±1ms         97.3±2ms     1.12  frame_ctor.FromRecords.time_frame_from_records_generator(None)
+         646±5ms          726±2ms     1.12  groupby.Groups.time_series_groups('object_large')
+         126±3ms          141±3ms     1.12  io.json.ToJSON.time_to_json('records', 'df_int_float_str')
+     3.01±0.01ms      3.38±0.02ms     1.12  io.csv.ReadCSVParseDates.time_baseline
+         291±1μs          327±2μs     1.12  inference.NumericInferOps.time_add(<class 'numpy.int8'>)
+     8.08±0.01ms      9.05±0.09ms     1.12  sparse.Arithmetic.time_intersect(0.01, nan)
+      38.0±0.3ms      42.6±0.07ms     1.12  strings.Methods.time_startswith
+     21.2±0.03ms      23.7±0.04ms     1.12  io.csv.ReadCSVConcatDatetimeBadDateValue.time_read_csv('nan')
+     19.3±0.09ms       21.6±0.1ms     1.12  io.csv.ReadCSVConcatDatetimeBadDateValue.time_read_csv('')
+         188±1ms          211±2ms     1.12  io.json.ToJSONLines.time_float_int_str_lines
+         539±3μs          603±1μs     1.12  series_methods.Map.time_map('Series', 'category')
+         288±1μs          323±2μs     1.12  inference.NumericInferOps.time_subtract(<class 'numpy.int8'>)
+       291±0.8μs          325±2μs     1.12  inference.NumericInferOps.time_subtract(<class 'numpy.uint8'>)
+     6.43±0.02ms      7.19±0.02ms     1.12  rolling.Pairwise.time_pairwise(10, 'cov', False)
+       269±0.7μs          301±2μs     1.12  indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'unique_monotonic_inc')
+         292±1μs          326±1μs     1.12  inference.NumericInferOps.time_add(<class 'numpy.uint8'>)
+       296±0.7μs          330±1μs     1.11  inference.NumericInferOps.time_multiply(<class 'numpy.uint8'>)
+      8.85±0.3ms       9.86±0.5ms     1.11  timeseries.ResampleSeries.time_resample('datetime', '5min', 'ohlc')
+         178±2ms        198±0.1ms     1.11  frame_ctor.FromDicts.time_nested_dict_int64
+     13.5±0.04μs       15.1±0.4μs     1.11  indexing.NonNumericSeriesIndexing.time_getitem_scalar('datetime', 'nonunique_monotonic_inc')
+      29.0±0.2ms       32.3±0.3ms     1.11  frame_ctor.FromLists.time_frame_from_lists
+     3.09±0.05ms      3.43±0.03ms     1.11  rolling.VariableWindowMethods.time_rolling('DataFrame', '1h', 'float', 'sum')
+     8.93±0.06μs       9.92±0.1μs     1.11  dtypes.Dtypes.time_pandas_dtype('Int16')
+         398±3μs          442±3μs     1.11  inference.NumericInferOps.time_subtract(<class 'numpy.int16'>)
+         244±6ms          270±5ms     1.11  io.json.ToJSONISO.time_iso_format('index')
+      28.4±0.3ms       31.4±0.1ms     1.11  groupby.AggFunctions.time_different_python_functions_multicol
+     5.50±0.03ms      6.08±0.04ms     1.11  ctors.SeriesConstructors.time_series_constructor(<function arr_dict at 0x7f6536433620>, False, 'int')
+     11.2±0.03ms      12.4±0.05ms     1.11  io.hdf.HDFStoreDataFrame.time_query_store_table
+      47.8±0.2μs       52.8±0.3μs     1.10  indexing.NonNumericSeriesIndexing.time_getitem_scalar('period', 'non_monotonic')
+       227±0.7ms          251±1ms     1.10  strings.Slice.time_vector_slice
+     2.78±0.02ms      3.08±0.03ms     1.10  io.csv.ReadCSVFloatPrecision.time_read_csv(';', '_', 'round_trip')
+         399±3μs          441±9μs     1.10  inference.NumericInferOps.time_add(<class 'numpy.uint16'>)
+         2.23±0s          2.46±0s     1.10  groupby.GroupByMethods.time_dtype_as_field('float', 'describe', 'transformation')
+         192±2ms          212±2ms     1.10  io.stata.Stata.time_write_stata('tc')
+     3.10±0.03ms      3.42±0.03ms     1.10  rolling.VariableWindowMethods.time_rolling('DataFrame', '50s', 'float', 'sum')
+     5.74±0.03ms      6.32±0.04ms     1.10  ctors.SeriesConstructors.time_series_constructor(<function arr_dict at 0x7f6536433620>, True, 'int')
+         2.23±0s       2.46±0.01s     1.10  groupby.GroupByMethods.time_dtype_as_field('float', 'describe', 'direct')
+            105M             115M     1.10  rolling.PeakMemFixed.peakmem_fixed
+     2.79±0.01ms      3.07±0.02ms     1.10  io.csv.ReadCSVFloatPrecision.time_read_csv(',', '_', None)
+         3.13±0s          3.44±0s     1.10  groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct')
+     6.05±0.02ms      6.66±0.02ms     1.10  reshape.SimpleReshape.time_stack
+         405±2μs          446±7μs     1.10  inference.NumericInferOps.time_multiply(<class 'numpy.int16'>)
+         2.12±0s          2.33±0s     1.10  groupby.GroupByMethods.time_dtype_as_field('int', 'describe', 'direct')
+         251±3ms          276±5ms     1.10  io.stata.StataMissing.time_write_stata('tc')
+      18.4±0.2ms      20.2±0.06ms     1.10  reshape.Cut.time_qcut_timedelta(4)
+     2.77±0.01ms      3.05±0.01ms     1.10  io.csv.ReadCSVFloatPrecision.time_read_csv(';', '_', None)
+         3.13±0s          3.44±0s     1.10  groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'transformation')
-      1.10±0.01s          996±6ms     0.91  reshape.Unstack.time_without_last_row('category')
-      16.9±0.1ms      15.4±0.06ms     0.91  frame_methods.Apply.time_apply_lambda_mean
-         262±1μs        238±0.3μs     0.91  indexing.CategoricalIndexIndexing.time_getitem_bool_array('monotonic_decr')
-     3.97±0.01ms         3.59±0ms     0.91  offset.OffsetSeriesArithmetic.time_add_offset(<SemiMonthBegin: day_of_month=15>)
-      3.71±0.2μs       3.36±0.1μs     0.90  index_cached_properties.IndexCache.time_inferred_type('IntervalIndex')
-      16.7±0.9ms      15.0±0.07ms     0.90  stat_ops.Rank.time_average_old('DataFrame', False)
-         117±1ms        106±0.6ms     0.90  io.json.ToJSON.time_to_json('split', 'df_date_idx')
-      7.54±0.6μs       6.78±0.2μs     0.90  index_cached_properties.IndexCache.time_shape('TimedeltaIndex')
-     5.96±0.03ms       5.35±0.1ms     0.90  frame_methods.Interpolate.time_interpolate_some_good('infer')
-     4.43±0.05μs      3.98±0.01μs     0.90  series_methods.SeriesGetattr.time_series_datetimeindex_repr
-         186±6ms          167±1ms     0.90  categoricals.Rank.time_rank_string
-      78.7±0.3ms       70.3±0.3ms     0.89  rolling.Apply.time_rolling('Series', 3, 'int', <built-in function sum>, False)
-      84.0±0.6ms       74.9±0.5ms     0.89  binary_ops.Ops.time_frame_comparison(False, 1)
-      84.6±0.9ms         75.4±1ms     0.89  binary_ops.Ops.time_frame_comparison(False, 'default')
-        74.2±2ms       66.1±0.3ms     0.89  rolling.Apply.time_rolling('Series', 300, 'int', <built-in function sum>, False)
-         169±1μs        151±0.9μs     0.89  frame_methods.Dtypes.time_frame_dtypes
-      98.6±0.7μs       87.6±0.8μs     0.89  series_methods.NanOps.time_func('argmax', 1000, 'float64')
-      79.7±0.4ms       70.7±0.2ms     0.89  rolling.Apply.time_rolling('DataFrame', 3, 'int', <built-in function sum>, False)
-      79.5±0.4ms       70.5±0.3ms     0.89  rolling.Apply.time_rolling('DataFrame', 3, 'float', <built-in function sum>, False)
-        75.1±2ms       66.6±0.2ms     0.89  rolling.Apply.time_rolling('DataFrame', 300, 'float', <built-in function sum>, False)
-      12.5±0.5ms       11.1±0.3ms     0.88  categoricals.Rank.time_rank_string_cat
-      79.1±0.8ms       69.9±0.1ms     0.88  rolling.Apply.time_rolling('Series', 3, 'float', <built-in function sum>, False)
-     3.71±0.02μs      3.27±0.03μs     0.88  dtypes.DtypesInvalid.time_pandas_dtype_invalid('scalar-int')
-        74.5±2ms       65.6±0.2ms     0.88  rolling.Apply.time_rolling('Series', 300, 'float', <built-in function sum>, False)
-      52.6±0.2μs       46.3±0.1μs     0.88  timedelta.TimedeltaIndexing.time_series_loc
-        75.6±2ms      66.4±0.08ms     0.88  rolling.Apply.time_rolling('DataFrame', 300, 'int', <built-in function sum>, False)
-     3.50±0.02ms      3.06±0.01ms     0.88  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessDay>)
-     5.17±0.02ms      4.50±0.03ms     0.87  timeseries.ResampleSeries.time_resample('datetime', '1D', 'mean')
-     1.77±0.01ms         1.54±0ms     0.87  timeseries.ToDatetimeCacheSmallCount.time_unique_date_strings(True, 5000)
-      3.93±0.1μs      3.40±0.09μs     0.87  index_cached_properties.IndexCache.time_shape('PeriodIndex')
-      6.49±0.2μs       5.61±0.1μs     0.87  index_object.Indexing.time_get_loc('Int')
-      26.4±0.7μs       22.8±0.2μs     0.86  series_methods.SearchSorted.time_searchsorted('int32')
-     2.91±0.01ms      2.51±0.01ms     0.86  sparse.FromCoo.time_sparse_series_from_coo
-     6.52±0.03μs      5.62±0.04μs     0.86  index_object.Indexing.time_get_loc_sorted('Int')
-         920±2μs          793±1μs     0.86  frame_methods.Iteration.time_itertuples_raw_start
-         621±2μs          535±2μs     0.86  groupby.GroupByMethods.time_dtype_as_field('datetime', 'tail', 'direct')
-      26.5±0.7μs       22.9±0.4μs     0.86  series_methods.SearchSorted.time_searchsorted('int64')
-         274±2ms          235±2ms     0.86  io.json.ToJSON.time_to_json_wide('index', 'df_td_int_ts')
-         927±1μs          797±2μs     0.86  frame_methods.Iteration.time_itertuples_raw_read_first
-      26.1±0.3μs       22.4±0.2μs     0.86  series_methods.SearchSorted.time_searchsorted('uint8')
-         772±2μs          662±1μs     0.86  timeseries.ToDatetimeCacheSmallCount.time_unique_date_strings(True, 500)
-         597±2μs          512±2μs     0.86  groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'direct')
-         622±2μs          532±1μs     0.86  groupby.GroupByMethods.time_dtype_as_field('datetime', 'tail', 'transformation')
-         600±2μs          513±2μs     0.85  groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'transformation')
-      26.4±0.6μs       22.5±0.3μs     0.85  series_methods.SearchSorted.time_searchsorted('int8')
-      9.52±0.5μs       8.12±0.1μs     0.85  algorithms.DuplicatedUniqueIndex.time_duplicated_unique('float')
-         270±1ms          230±1ms     0.85  io.csv.ToCSV.time_frame('long')
-         273±2ms          233±2ms     0.85  io.json.ToJSON.time_to_json_wide('records', 'df_td_int_ts')
-         180±3ms          153±2ms     0.85  io.json.ToJSON.time_to_json('index', 'df_td_int_ts')
-      26.1±0.3μs       22.1±0.4μs     0.85  series_methods.SearchSorted.time_searchsorted('uint16')
-      26.8±0.3μs       22.7±0.1μs     0.85  series_methods.SearchSorted.time_searchsorted('int16')
-         152±1ms          128±2ms     0.85  io.json.ToJSON.time_to_json('records', 'df_td_int_ts')
-     9.50±0.03μs      8.04±0.06μs     0.85  algorithms.DuplicatedUniqueIndex.time_duplicated_unique('int')
-      26.5±0.3μs      22.3±0.09μs     0.84  series_methods.SearchSorted.time_searchsorted('uint32')
-      29.5±0.6μs       24.8±0.3μs     0.84  series_methods.SearchSorted.time_searchsorted('uint64')
-     4.61±0.04ms      3.84±0.02ms     0.83  timeseries.ResampleDatetetime64.time_resample
-      9.74±0.9μs       8.11±0.1μs     0.83  algorithms.DuplicatedUniqueIndex.time_duplicated_unique('string')
-     9.90±0.03ms      8.15±0.01ms     0.82  inference.DateInferOps.time_add_timedeltas
-       286±0.7ms        235±0.9ms     0.82  frame_methods.Apply.time_apply_user_func
-        70.4±3ms         57.9±1ms     0.82  plotting.SeriesPlotting.time_series_plot('line')
-         526±2ms        432±0.7ms     0.82  frame_methods.Nunique.time_frame_nunique
-       294±0.6ms          242±3ms     0.82  frame_methods.Duplicated.time_frame_duplicated_wide
-         256±2ms        210±0.4ms     0.82  io.json.ToJSON.time_to_json_wide('split', 'df_td_int_ts')
-     3.46±0.02ms      2.84±0.03ms     0.82  frame_methods.Interpolate.time_interpolate_some_good(None)
-     4.10±0.04ms      3.35±0.01ms     0.82  groupby.Datelike.time_sum('date_range')
-         256±1ms          209±2ms     0.82  io.json.ToJSON.time_to_json_wide('values', 'df_td_int_ts')
-        199±20ms        161±0.4ms     0.81  algorithms.Factorize.time_factorize(True, 'string')
-      10.3±0.2ms      8.36±0.02ms     0.81  inference.DateInferOps.time_subtract_datetimes
-       216±0.8μs        175±0.7μs     0.81  period.Indexing.time_unique
-      47.4±0.1μs       38.2±0.3μs     0.81  series_methods.NanOps.time_func('argmax', 1000, 'int64')
-         246±1ms        198±0.8ms     0.80  frame_methods.Interpolate.time_interpolate('infer')
-     7.62±0.01ms      6.10±0.05ms     0.80  io.hdf.HDFStoreDataFrame.time_store_info
-     34.0±0.08ms      27.2±0.05ms     0.80  io.csv.ToCSV.time_frame('mixed')
-      47.2±0.2μs       37.5±0.1μs     0.80  series_methods.NanOps.time_func('argmax', 1000, 'int8')
-      47.4±0.2μs       37.6±0.2μs     0.79  series_methods.NanOps.time_func('argmax', 1000, 'int32')
-     10.5±0.05ms      8.28±0.01ms     0.79  reindex.DropDuplicates.time_frame_drop_dups(True)
-         160±4ms          126±4ms     0.79  io.json.ToJSON.time_to_json('columns', 'df_td_int_ts')
-         188±2ms          148±2ms     0.79  frame_methods.Interpolate.time_interpolate(None)
-      21.1±0.4ms         16.6±1ms     0.78  algorithms.FactorizeUnique.time_factorize(False, 'string')
-     12.0±0.04ms      9.33±0.02ms     0.78  reindex.DropDuplicates.time_frame_drop_dups_na(True)
-         316±1μs          242±2μs     0.76  index_object.SetOperations.time_operation('datetime', 'union')
-     2.34±0.02ms      1.78±0.01ms     0.76  categoricals.CategoricalSlicing.time_getitem_bool_array('monotonic_incr')
-     2.36±0.01ms      1.79±0.01ms     0.76  categoricals.CategoricalSlicing.time_getitem_bool_array('monotonic_decr')
-      14.2±0.2μs      10.7±0.08μs     0.76  timeseries.AsOf.time_asof_single_early('Series')
-      15.1±0.1ms       11.4±0.1ms     0.76  io.csv.ToCSVDatetime.time_frame_date_formatting
-      15.3±0.2μs       11.5±0.2μs     0.75  timeseries.DatetimeIndex.time_get('tz_aware')
-         621±2ms        466±0.8ms     0.75  package.TimeImport.time_import
-       243±0.9μs        181±0.7μs     0.74  timeseries.DatetimeIndex.time_unique('dst')
-     2.68±0.01ms      1.98±0.01ms     0.74  timeseries.ResampleDataFrame.time_method('mean')
-        60.7±2ms       44.5±0.1ms     0.73  io.hdf.HDFStoreDataFrame.time_write_store_table_wide
-         919±5ns         667±20ns     0.73  timedelta.TimedeltaIndexing.time_shape
-     1.29±0.01ms          931±1μs     0.72  offset.OffsetSeriesArithmetic.time_add_offset(<DateOffset: days=2, months=2>)
-      9.40±0.1μs       6.70±0.3μs     0.71  timedelta.TimedeltaIndexing.time_get_loc
-        935±10ns          658±6ns     0.70  period.Indexing.time_shape
-         497±3ms          349±2ms     0.70  groupby.GroupByMethods.time_dtype_as_group('float', 'unique', 'direct')
-         502±5ms          351±3ms     0.70  groupby.GroupByMethods.time_dtype_as_group('float', 'unique', 'transformation')
-         224±3ms        156±0.9ms     0.70  groupby.GroupByMethods.time_dtype_as_field('float', 'unique', 'transformation')
-         218±2ms          151±1ms     0.69  groupby.GroupByMethods.time_dtype_as_field('int', 'unique', 'direct')
-         505±4ms          350±2ms     0.69  groupby.GroupByMethods.time_dtype_as_group('datetime', 'unique', 'direct')
-     11.2±0.08μs      7.76±0.05μs     0.69  timedelta.TimedeltaIndexing.time_shallow_copy
-         219±2ms        151±0.6ms     0.69  groupby.GroupByMethods.time_dtype_as_field('int', 'unique', 'transformation')
-         506±2ms          350±2ms     0.69  groupby.GroupByMethods.time_dtype_as_group('datetime', 'unique', 'transformation')
-         227±9ms        157±0.7ms     0.69  groupby.GroupByMethods.time_dtype_as_field('float', 'unique', 'direct')
-         325±3ms        223±0.6ms     0.69  groupby.GroupByMethods.time_dtype_as_group('int', 'unique', 'direct')
-       139±0.8ms       95.2±0.6ms     0.68  io.json.ToJSON.time_to_json('values', 'df_td_int_ts')
-        30.9±1ms       21.1±0.6ms     0.68  algorithms.Duplicated.time_duplicated(False, 'string')
-      31.5±0.2ms      21.5±0.06ms     0.68  stat_ops.Correlation.time_corrwith_cols('pearson')
-         331±6ms          225±1ms     0.68  groupby.GroupByMethods.time_dtype_as_group('int', 'unique', 'transformation')
-        12.0±4μs      8.08±0.05μs     0.68  algorithms.DuplicatedUniqueIndex.time_duplicated_unique('uint')
-     1.06±0.01ms          709±3μs     0.67  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessMonthEnd>)
-        1.07±0ms          709±5μs     0.67  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessYearEnd: month=12>)
-        1.06±0ms          702±3μs     0.66  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessQuarterEnd: startingMonth=3>)
-        45.9±4ms       30.4±0.1ms     0.66  algorithms.Factorize.time_factorize(False, 'string')
-     1.03±0.01ms          681±2μs     0.66  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessQuarterBegin: startingMonth=3>)
-        1.04±0ms          687±2μs     0.66  offset.OffsetSeriesArithmetic.time_add_offset(<YearEnd: month=12>)
-         163±1ms          107±1ms     0.66  io.json.ToJSON.time_to_json('split', 'df_td_int_ts')
-        1.03±0ms          678±1μs     0.66  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessYearBegin: month=1>)
-        1.03±0ms          676±3μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<QuarterEnd: startingMonth=3>)
-        1.03±0ms          670±1μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<BusinessMonthBegin>)
-        1.03±0ms          671±4μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<MonthEnd>)
-         255±1ms        167±0.6ms     0.65  groupby.GroupByMethods.time_dtype_as_field('object', 'unique', 'direct')
-        1.02±0ms        662±0.7μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<QuarterBegin: startingMonth=3>)
-        1.01±0ms          659±5μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<YearBegin: month=1>)
-     1.01±0.01ms          652±1μs     0.65  offset.OffsetSeriesArithmetic.time_add_offset(<MonthBegin>)
-         258±2ms          166±1ms     0.64  groupby.GroupByMethods.time_dtype_as_field('object', 'unique', 'transformation')
-         252±2ms          163±1ms     0.64  eval.Eval.time_and('python', 'all')
-            206M             133M     0.64  reshape.Cut.peakmem_cut_interval(10)
-            206M             133M     0.64  reshape.Cut.peakmem_cut_interval(4)
-            207M             133M     0.64  reshape.Cut.peakmem_cut_interval(1000)
-     4.76±0.02ms      3.03±0.01ms     0.64  timeseries.ResampleDataFrame.time_method('min')
-         983±2ms          618±1ms     0.63  io.json.ReadJSON.time_read_json('index', 'datetime')
-        1.02±0ms          640±2μs     0.63  offset.OffsetSeriesArithmetic.time_add_offset(<Day>)
-        3.87±0ms      2.41±0.01ms     0.62  index_object.SetOperations.time_operation('datetime', 'intersection')
-         150±4ms         92.7±4ms     0.62  binary_ops.Ops.time_frame_multi_and(False, 'default')
-         151±4ms         92.9±3ms     0.62  binary_ops.Ops.time_frame_multi_and(False, 1)
-         263±2ms          162±1ms     0.62  eval.Eval.time_and('python', 1)
-     1.92±0.05ms      1.18±0.06ms     0.62  reindex.LevelAlign.time_align_level
-     8.72±0.08μs      5.35±0.03μs     0.61  timeseries.DatetimeIndex.time_get('repeated')
-       191±0.6μs        117±0.5μs     0.61  timedelta.TimedeltaIndexing.time_unique
-      22.7±0.2ms      13.8±0.06ms     0.61  algorithms.Duplicated.time_duplicated('last', 'string')
-      1.12±0.01s          679±1ms     0.60  io.json.ReadJSON.time_read_json('index', 'int')
-     8.52±0.07μs      5.14±0.02μs     0.60  timeseries.DatetimeIndex.time_get('tz_naive')
-     4.75±0.01ms         2.86±0ms     0.60  timeseries.ResampleDataFrame.time_method('max')
-     8.49±0.05μs      5.12±0.02μs     0.60  timeseries.DatetimeIndex.time_get('dst')
-      22.8±0.3ms      13.7±0.02ms     0.60  algorithms.Duplicated.time_duplicated('first', 'string')
-         149±4ms         87.2±3ms     0.59  binary_ops.Ops.time_frame_multi_and(True, 'default')
-         160±4ms         93.6±3ms     0.59  binary_ops.Ops.time_frame_multi_and(True, 1)
-        1.95±0ms         1.12±0ms     0.57  groupby.GroupByMethods.time_dtype_as_group('object', 'unique', 'direct')
-     1.95±0.01ms         1.11±0ms     0.57  groupby.GroupByMethods.time_dtype_as_group('object', 'unique', 'transformation')
-     2.10±0.06ms      1.20±0.06ms     0.57  reindex.LevelAlign.time_reindex_level
-         652±1ms          348±1ms     0.53  stat_ops.Correlation.time_corrwith_rows('pearson')
-     1.83±0.03ms          949±8μs     0.52  replace.FillNa.time_replace(True)
-      10.0±0.5ms       5.06±0.8ms     0.50  binary_ops.Timeseries.time_timestamp_ops_diff('US/Eastern')
-        184±10ms         89.7±1ms     0.49  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function pow>)
-         128±1ms       61.4±0.5ms     0.48  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function floordiv>)
-        197±20ms         93.4±4ms     0.47  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function pow>)
-         124±2ms       58.6±0.5ms     0.47  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function floordiv>)
-      9.59±0.4ms       4.51±0.1ms     0.47  rolling.EWMMethods.time_ewm('Series', 10, 'int', 'mean')
-         125±1ms       58.7±0.5ms     0.47  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function floordiv>)
-         126±2ms       59.0±0.5ms     0.47  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function floordiv>)
-         133±1ms       61.2±0.7ms     0.46  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function floordiv>)
-        202±10ms         92.7±4ms     0.46  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function pow>)
-         132±1ms       60.3±0.5ms     0.46  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function floordiv>)
-      9.37±0.4ms       4.26±0.1ms     0.45  rolling.EWMMethods.time_ewm('Series', 10, 'float', 'mean')
-      9.59±0.4ms       4.35±0.1ms     0.45  rolling.EWMMethods.time_ewm('Series', 1000, 'int', 'mean')
-      9.43±0.3ms       4.25±0.1ms     0.45  rolling.EWMMethods.time_ewm('Series', 1000, 'float', 'mean')
-         127±1ms       55.9±0.4ms     0.44  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function floordiv>)
-         128±1ms       56.1±0.5ms     0.44  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function floordiv>)
-       126±0.9μs      53.9±0.09μs     0.43  categoricals.CategoricalOps.time_categorical_op('__eq__')
-       127±0.6μs       54.3±0.2μs     0.43  categoricals.CategoricalOps.time_categorical_op('__gt__')
-       127±0.9μs       54.3±0.3μs     0.43  categoricals.CategoricalOps.time_categorical_op('__ge__')
-      75.5±0.5ms       27.1±0.6ms     0.36  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function mod>)
-     7.66±0.01ms      2.74±0.06ms     0.36  rolling.EWMMethods.time_ewm('DataFrame', 10, 'int', 'mean')
-       114±0.4ms      40.6±0.02ms     0.36  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function mod>)
-     5.33±0.07ms         1.87±0ms     0.35  series_methods.Dir.time_dir_strings
-      77.0±0.6ms       27.0±0.7ms     0.35  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function mod>)
-     7.67±0.03ms      2.69±0.02ms     0.35  rolling.EWMMethods.time_ewm('DataFrame', 1000, 'int', 'mean')
-         114±1ms      39.7±0.03ms     0.35  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function mod>)
-      93.1±0.9ms      32.0±0.06ms     0.34  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function mod>)
-      86.7±0.7ms      29.5±0.03ms     0.34  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function mod>)
-      86.9±0.9ms      29.5±0.04ms     0.34  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function mod>)
-     7.52±0.02ms      2.55±0.01ms     0.34  rolling.EWMMethods.time_ewm('DataFrame', 10, 'float', 'mean')
-     7.53±0.02ms      2.54±0.01ms     0.34  rolling.EWMMethods.time_ewm('DataFrame', 1000, 'float', 'mean')
-      88.8±0.7ms      29.7±0.01ms     0.33  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function mod>)
-      3.40±0.02s       1.08±0.01s     0.32  reshape.Cut.time_cut_interval(1000)
-         105±4ms       32.9±0.5ms     0.31  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function pow>)
-         333±4ms        102±0.2ms     0.31  binary_ops.Ops2.time_frame_float_div_by_zero
-       336±0.9ms        103±0.4ms     0.31  binary_ops.Ops2.time_frame_int_div_by_zero
-        97.8±1ms       29.5±0.4ms     0.30  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function pow>)
-        97.5±1ms       29.4±0.3ms     0.30  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function pow>)
-      2.91±0.01s         792±10ms     0.27  reshape.Cut.time_cut_interval(4)
-      2.98±0.03s          803±7ms     0.27  reshape.Cut.time_cut_interval(10)
-      96.2±0.8ms       25.3±0.7ms     0.26  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function pow>)
-      19.4±0.7ms       4.87±0.3ms     0.25  rolling.EWMMethods.time_ewm('Series', 10, 'int', 'std')
-      19.3±0.7ms       4.71±0.3ms     0.24  rolling.EWMMethods.time_ewm('Series', 1000, 'int', 'std')
-     2.34±0.02μs         557±10ns     0.24  multiindex_object.Integer.time_is_monotonic
-      19.5±0.3ms       4.61±0.2ms     0.24  rolling.EWMMethods.time_ewm('Series', 10, 'float', 'std')
-      19.5±0.3ms       4.61±0.2ms     0.24  rolling.EWMMethods.time_ewm('Series', 1000, 'float', 'std')
-     19.5±0.07ms      3.66±0.02ms     0.19  rolling.EWMMethods.time_ewm('DataFrame', 1000, 'int', 'std')
-     19.6±0.07ms      3.66±0.02ms     0.19  rolling.EWMMethods.time_ewm('DataFrame', 10, 'int', 'std')
-     19.4±0.08ms      3.50±0.01ms     0.18  rolling.EWMMethods.time_ewm('DataFrame', 1000, 'float', 'std')
-     19.4±0.05ms      3.49±0.01ms     0.18  rolling.EWMMethods.time_ewm('DataFrame', 10, 'float', 'std')
-      18.7±0.2ms      2.98±0.01ms     0.16  stat_ops.Correlation.time_corr('spearman')
-         476±9ms       45.6±0.8ms     0.10  binary_ops.Ops2.time_frame_float_floor_by_zero
-      8.78±0.5ms          746±3μs     0.09  period.Algorithms.time_drop_duplicates('series')
-        757±10ms       60.1±0.2ms     0.08  stat_ops.Correlation.time_corr_wide('spearman')
-     18.8±0.03ms         1.32±0ms     0.07  frame_methods.SelectDtypes.time_select_dtypes(100)
-        66.8±1ms       4.41±0.2ms     0.07  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function truediv>)
-        64.0±1ms       3.90±0.6ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function add>)
-      17.7±0.2ms         1.07±0ms     0.06  index_object.IntervalIndexMethod.time_intersection_both_duplicate(1000)
-        65.8±2ms       3.73±0.1ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function truediv>)
-        64.1±1ms       3.57±0.3ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function sub>)
-      64.6±0.9ms      3.58±0.09ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function mul>)
-      64.5±0.3ms       3.57±0.3ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function sub>)
-      72.3±0.9ms       4.00±0.3ms     0.06  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function truediv>)
-      64.2±0.7ms       3.49±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function mul>)
-        71.2±1ms       3.85±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function truediv>)
-      64.7±0.7ms       3.44±0.1ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function add>)
-      65.2±0.7ms       3.40±0.3ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function truediv>)
-      66.4±0.9ms       3.36±0.1ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function truediv>)
-      70.3±0.7ms       3.51±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function truediv>)
-      58.1±0.9ms      2.74±0.02ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function eq>)
-      58.3±0.8ms      2.73±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function ge>)
-      58.0±0.8ms      2.70±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function lt>)
-      58.4±0.8ms      2.71±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function gt>)
-      58.3±0.6ms         2.70±0ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function le>)
-      58.3±0.7ms      2.69±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function ne>)
-      59.0±0.9ms      2.71±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function ge>)
-        74.2±3ms       3.41±0.3ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function truediv>)
-      59.3±0.9ms      2.72±0.02ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function lt>)
-      59.0±0.8ms         2.71±0ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function gt>)
-      58.8±0.5ms      2.69±0.02ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function eq>)
-      63.4±0.6ms       2.88±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function sub>)
-      64.1±0.9ms       2.91±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function add>)
-        69.1±1ms       3.13±0.2ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function add>)
-      59.3±0.7ms      2.68±0.01ms     0.05  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function ne>)
-        59.8±1ms      2.68±0.01ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function le>)
-        63.7±1ms      2.85±0.09ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function mul>)
-      64.2±0.8ms      2.86±0.08ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function mul>)
-      64.1±0.8ms       2.83±0.1ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function sub>)
-      63.2±0.4ms       2.78±0.1ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function add>)
-      67.3±0.5ms       2.94±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function mul>)
-        69.3±1ms       2.99±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function add>)
-     22.4±0.04ms         948±10μs     0.04  index_cached_properties.IndexCache.time_is_monotonic_decreasing('MultiIndex')
-        69.9±1ms       2.94±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 5.0, <built-in function sub>)
-        70.8±2ms       2.93±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function sub>)
-        72.2±2ms       2.95±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function mul>)
-        71.5±1ms       2.91±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function sub>)
-        70.4±2ms       2.84±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 3.0, <built-in function mul>)
-        72.2±1ms       2.87±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function add>)
-      71.6±0.7ms       2.73±0.1ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function sub>)
-      71.4±0.6ms       2.69±0.1ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function add>)
-        72.8±1ms       2.67±0.2ms     0.04  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function mul>)
-     22.1±0.06ms         717±10μs     0.03  index_cached_properties.IndexCache.time_is_monotonic_increasing('MultiIndex')
-     22.1±0.05ms         715±10μs     0.03  index_cached_properties.IndexCache.time_is_monotonic('MultiIndex')
-      56.4±0.5ms      1.48±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function lt>)
-      57.2±0.7ms      1.48±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function le>)
-      56.5±0.4ms         1.46±0ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function ge>)
-      57.1±0.6ms         1.47±0ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function le>)
-      57.0±0.6ms         1.47±0ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function lt>)
-      56.8±0.8ms      1.46±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function gt>)
-      57.0±0.5ms         1.47±0ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function ge>)
-      56.7±0.6ms         1.45±0ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function gt>)
-      56.4±0.3ms      1.42±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function lt>)
-      56.4±0.4ms      1.42±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function le>)
-      56.3±0.3ms      1.41±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function ge>)
-      56.8±0.3ms      1.42±0.01ms     0.03  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function lt>)
-      56.7±0.3ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function ne>)
-      57.0±0.2ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function ge>)
-      56.4±0.7ms         1.40±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function gt>)
-      57.0±0.2ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function le>)
-      57.1±0.4ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function le>)
-      57.1±0.4ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function le>)
-      57.3±0.4ms         1.42±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function gt>)
-      57.2±0.4ms         1.42±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function lt>)
-      57.0±0.8ms         1.41±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function ge>)
-      57.7±0.3ms         1.42±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function ne>)
-      57.4±0.4ms      1.41±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function lt>)
-      57.3±0.4ms      1.41±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function ge>)
-        57.3±4ms      1.41±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function gt>)
-      56.9±0.5ms      1.40±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 5.0, <built-in function eq>)
-      57.8±0.5ms         1.42±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function ne>)
-      57.4±0.5ms      1.40±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function gt>)
-        57.9±5ms      1.42±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function ne>)
-      57.4±0.4ms      1.40±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function eq>)
-      56.7±0.7ms      1.39±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function ne>)
-      56.9±0.7ms         1.38±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function ne>)
-      57.4±0.3ms      1.40±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 3.0, <built-in function eq>)
-     57.9±0.05ms         1.40±0ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function eq>)
-      56.6±0.5ms      1.37±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function eq>)
-      57.0±0.5ms      1.37±0.01ms     0.02  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 2, <built-in function eq>)
-      7.38±0.01s          115±1ms     0.02  index_object.IntervalIndexMethod.time_intersection_both_duplicate(100000)
-         276±2ms       2.27±0.1ms     0.01  frame_ctor.FromRange.time_frame_from_range
-       201±0.5ms         1.40±0ms     0.01  frame_methods.SelectDtypes.time_select_dtypes(1000)
-      27.1±0.04s        151±0.4ms     0.01  replace.ReplaceList.time_replace_list_one_match(False)
-      24.8±0.04s       93.4±0.4ms     0.00  replace.ReplaceList.time_replace_list(False)
-      25.3±0.02s      59.0±0.08ms     0.00  replace.ReplaceList.time_replace_list_one_match(True)
-      13.7±0.5ms       5.18±0.4μs     0.00  dtypes.InferDtypes.time_infer_skipna('np-int')
-      14.6±0.4ms       4.97±0.2μs     0.00  dtypes.InferDtypes.time_infer_skipna('np-null')
-      14.9±0.4ms       5.01±0.1μs     0.00  dtypes.InferDtypes.time_infer_skipna('np-floating')
-         331±1ms      6.55±0.03μs     0.00  index_object.IndexEquals.time_non_object_equals_multiindex
-         331±3ms      2.74±0.03μs     0.00  multiindex_object.Equals.time_equals_non_object_index
-      22.9±0.06s          115±1μs     0.00  replace.ReplaceList.time_replace_list(True)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.

I already commented on a few PRs, for the rest would need to take a further look. Help is certainly welcome to check certain cases.

One recurrent theme seems to be a rather consistent slowdown of a bunch of groupby methods. This can also be seen on the benchmark machine (eg https://pandas.pydata.org/speed/pandas/index.html#groupby.GroupByMethods.time_dtype_as_group?p-dtype='int'&p-method='all'&p-method='any'&odfpy=)

Metadata

Metadata

Assignees

No one assigned

    Labels

    PerformanceMemory or execution speed performance

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions