I ran a full benchmark on a separate machine locally, comparing current master against 0.25.3.
Some identified cases:
extract_array, reproducer below at https://github.com/pandas-dev/pandas/issues/30790#issuecomment-572928516Index.__new__, reproducer below at https://github.com/pandas-dev/pandas/issues/30790#issuecomment-571959377asof due to additional copy / take: https://github.com/pandas-dev/pandas/pull/30615/#issuecomment-571531394Full 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=)
Thanks for posting this. Am I reading the GroupBy regressions correctly as occurring somewhere between 3b58f48a on on November 9 and 76e39ebc on Nov 23?
FYI, the benchmark machine should be slowly filling in some of those values. It was hanging for a couple weeks on an xarray benchmark.
Looking at the indexing ones like indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'non_monotonic'), that's at least partial from extract_array being relatively slower than getattr(Index, '_values'). Seeing what we can do.
For the GroupBy regressions, I can't really replicate it locally in my default environments (using py 37), it gives only a slight slowdown (more in order of 10% instead of x2). But creating a py36 env for 0.25.3 and master, then I do see a clearer slowdown (although more x1.5 instead of x2).
Example code from one of the benchmarks (groupby::GroupByMethods):
ngroups = 1000
size = ngroups * 2
rng = np.arange(ngroups)
values = rng.take(np.random.randint(0, ngroups, size=size))
key = np.random.randint(0, size, size=size)
df = DataFrame({"values": values, "key": key})
%timeit df.groupby("key")["values"].any()
Profiling that example, one of the factors contributing to the slowdown is more time spent in the _wrap_aggregated_output (and in there, it seems to spend a lot of time creating new Series/Index). This method was eg recently touched by https://github.com/pandas-dev/pandas/pull/29124 (@WillAyd which was merged Nov 20, so that would match the time window of Nov 9 - 23 you mentioned).
Although note that the benchmarking also shows a further slight slowdown in second half of December.
Another in the top of the list is this very simple benchmark:
arr_str = np.array(["foo", "bar", "baz"], dtype=object)
%timeit pd.Index(arr_str)
This I can reproduce locally, and gives more than a 2x slowdown. From a quick profile, on master the total amount of time for isinstance checks doubled (this is all in Index.__new__).
If you repeatedly create Index objects from arrays, this can add up, and it might be part of the explanation of the GroupBy slowdown as well (in the profile of the groupby example, I noticed it spent more time in Index.__new__ and Series.__init__)
@TomAugspurger is the benchmark machine still filling in values? Would be helpful to know where to bisect if there was more
If not no big deal just wanted to ask
I see you closed #18532; is there nothing there that we should be concerned with?
Possibly, if you have time to look into them.
On Wed, Jan 8, 2020 at 7:49 PM jbrockmendel notifications@github.com
wrote:
I see you closed #18532
https://github.com/pandas-dev/pandas/issues/18532; is there nothing
there that we should be concerned with?—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pandas-dev/pandas/issues/30790?email_source=notifications&email_token=AAKAOIWCTHCV5AAHY3PNQ4DQ4Z7A5A5CNFSM4KD5AJOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIOUHMQ#issuecomment-572343218,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAOIVEIGJBPCQD2SLRL33Q4Z7A5ANCNFSM4KD5AJOA
.
Short reproducer for the indexing case:
N = 10 ** 6
data = pd.Series(np.random.rand(N), index=pd.Int64Index(range(N)))
%timeit data[80000]
and as Tom mentioned, this seems mostly due to additional time taken by extract_array (which includes several dtype checks).
Are the extract_array dtype checks inside .array? Could be avoided by using ._values?
Are the extract_array dtype checks inside .array? Could be avoided by using ._values?
Yes, I think the dtype checks are for a large part there.
Using _values to avoid this might be a bit tricky, though. For example, for Series with datetime64 (tz-naive) returns numpy array and not DatetimeArray. I don't know what depends on _values returning a numpy array in that case.
We could define .array directly on Series and rely on the block to return the correct thing (right now Series._values calls internal_values() on the block, we could add something similar for .array, although it is yet another "values definition")
although it is yet another "values definition"
yah id like to avoid that is possible.
Using _values to avoid this might be a bit tricky, though.
Does it break any tests if we make change .array -> ._values? All of the places that come to mind for using extract_array should be unaffected
@TomAugspurger is it possible the benchmarks machine is not running anymore the last days? (I don't see any updates from since I posted this issue)
See these in the logs when running asv publish.
[ 33.33%] ·· Error parsing JSON in file '/home/pandas/pandas/asv_bench/results/asv-runner/b62e9aea-conda-py3.6-Cython-matplotlib-numexpr-numpy-openpyxl-pytables-pytest-scipy-sqlalchemy-xlrd-xlsxwriter-xlwt.json': Expecting ',' delimiter: line 48781 column 43 (char 1888787)Segmentation fault
Not sure what's up.
Can't reproduce this. I just ran locally a asv run --quick (and it created a fresh env for that, since something changed), but everything runs without segfault
Yeah, I'm guessing something got messed up on a run and asv can't recover. Fixing things manually now.
Seems like conda got into a bad state on the benchmark machine. Restarting
helped, and so the benchmarks should start running again now.
On Fri, Jan 10, 2020 at 1:47 PM Joris Van den Bossche <
[email protected]> wrote:
Are the extract_array dtype checks inside .array? Could be avoided by
using ._values?Yes, I think the dtype checks are for a large part there.
Using _values to avoid this might be a bit tricky, though. For example,
for Series with datetime64 (tz-naive) returns numpy array and not
DatetimeArray. I don't know what depends on _values returning a numpy
array in that case.
We could define .array directly on Series and rely on the block to return
the correct thing (right now Series._values calls internal_values() on
the block, we could add something similar for .array, although it is yet
another "values definition")—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pandas-dev/pandas/issues/30790?email_source=notifications&email_token=AAKAOITP6GYVOA4MVIL7LNTQ5DGEVA5CNFSM4KD5AJOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIVAOZQ#issuecomment-573179750,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAOIVBE4OROWDIRP4JCH3Q5DGEVANCNFSM4KD5AJOA
.
any other regressions we should focus on in the short term?
Indexing a multi-index seemingly went from O(1) to O(N):

Code to reproduce:
from time import perf_counter as time
import pandas as pd
for N in [1000, 2000, 4000, 8000, 16000, 32000]:
values = [str(i) for i in range(N)]
df = pd.DataFrame({ 'a': values, 'b': [1 for _ in range(N)] })
a = df['a']
df.set_index(['a', 'b'], inplace = True)
t = time()
df.loc[a]
t = time() - t
print(N, t)
(Edit: previously said O(N^2) because I was counting the number of elements indexed too)
@valtron thanks for reporting this. any chance you can bisect to figure out when this was introduced?
@jbrockmendel introduced in the _shallow_copy here: https://github.com/pandas-dev/pandas/commit/b0f33b3f40d5742531e31aef90573b9592489592#diff-4ffd1c69d47e0ac9f2de4f9e3e4a118cR643
@valtron can you open a new dedicated issue for this?
The issue is here: https://github.com/pandas-dev/pandas/issues/31648
moved off 1.1.1 milestone (scheduled for this week) as no PRs to fix in the pipeline
moved off 1.1.2 milestone (scheduled for this week) as no PRs to fix in the pipeline
moved off 1.1.3 milestone (overdue) as no PRs to fix in the pipeline
closing this, these are old; they maybe stiill here but need new measurements. pls open a new specific issue.
Most helpful comment
Indexing a multi-index seemingly went from O(1) to O(N):
Code to reproduce:
(Edit: previously said O(N^2) because I was counting the number of elements indexed too)