pandas-dev / pandas

Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
https://pandas.pydata.org
BSD 3-Clause "New" or "Revised" License
43.87k stars 18.02k forks source link

Refactor - ArrayManager overview issue #39146

Closed jorisvandenbossche closed 1 year ago

jorisvandenbossche commented 3 years ago

Related to the discussion in https://github.com/pandas-dev/pandas/issues/10556, and following up on the mailing list discussion "A case for a simplified (non-consolidating) BlockManager with 1D blocks" (archive).

Initial proof of concept for a non-consolidating "ArrayManager" (storing the columns of a DataFrame as a list of 1D arrays instead of blocks) is merged in https://github.com/pandas-dev/pandas/pull/36010.

This issue is meant to track the required follow-up work items to get this to a more feature-complete implementation.

jorisvandenbossche commented 3 years ago

One design question that was still left open is what to do with Series, for which we currently have a SingleBlockManager. The two obvious options I can think of:

A while ago I thought the second option could be an attractive simplification (because in the end, a Series "just" consists of an array and an index, so why needing a manager?). But that was probably a bit naive ;) The Manager still does quite some things, and moreover, doing a SingleArrayManager keeps the changes more limited (we can still see later if getting rid of Single(Block/Array)Manager is an option we want to explore, independent from the BlockManager vs ArrayManager debate) and for implementing certain features consistently between Series and DataFrame, having both with an underlying manager is probably useful.

Now, for the actual SingleArrayManager, some thoughts:

I am currently testing out the approach of a separate SingleArrayManager class to see what is needed to implement it fully.

cc @jreback @jbrockmendel @TomAugspurger

jorisvandenbossche commented 3 years ago

Posting here some results from parts of the benchmark suite. I always ran the benchmark on a commit where I changed the default to ArrayManager (HEAD) vs the previous commit with the normal default of BlockManager (HEAD~1). So using the diff formatting to get some color: green is slower and red is faster for the ArrayManager. The "am-benchmarks" branch I am using is currently master + the 2 perf-related PRs I opened today + the commit to change the default.

First batch of results are benchmarks related to reshaping / take / reindex:

join_merge

$ asv continuous -f 1.01 -b join_merge HEAD~1 HEAD ```diff before after ratio [78aa7f40] [ea965b27] + 35.0±3ms 78.9±0.3ms 2.26 join_merge.ConcatDataFrames.time_c_ordered(0, False) + 35.0±3ms 78.7±0.2ms 2.25 join_merge.ConcatDataFrames.time_c_ordered(0, True) + 39.5±5ms 78.5±0.4ms 1.99 join_merge.ConcatDataFrames.time_f_ordered(0, True) + 39.9±4ms 78.8±0.2ms 1.98 join_merge.ConcatDataFrames.time_f_ordered(0, False) - 238±0.2ms 233±0.2ms 0.98 join_merge.MergeAsof.time_by_object('nearest', None) - 239±0.3ms 234±0.2ms 0.98 join_merge.MergeAsof.time_by_object('nearest', 5) - 171±0.1ms 166±0.2ms 0.98 join_merge.MergeAsof.time_by_object('forward', 5) - 170±0.2ms 166±0.2ms 0.97 join_merge.MergeAsof.time_by_object('forward', None) - 227±5ms 218±0.6ms 0.96 join_merge.MergeAsof.time_by_int('nearest', 5) - 226±5ms 218±0.6ms 0.96 join_merge.MergeAsof.time_by_int('nearest', None) - 659±2ms 630±1ms 0.96 join_merge.MergeCategoricals.time_merge_object - 162±4ms 154±0.3ms 0.95 join_merge.MergeAsof.time_by_int('forward', 5) - 249±2μs 237±3μs 0.95 join_merge.Concat.time_concat_empty_left(0) - 83.8±0.5ms 79.4±0.1ms 0.95 join_merge.MergeAsof.time_by_object('backward', None) - 84.1±0.5ms 79.6±0.3ms 0.95 join_merge.MergeAsof.time_by_object('backward', 5) - 15.4±0.3ms 14.6±0.5ms 0.95 join_merge.Join.time_join_dataframe_index_shuffle_key_bigger_sort(True) - 75.2±1ms 71.1±0.9ms 0.95 join_merge.MergeAsof.time_by_int('backward', None) - 163±4ms 154±0.1ms 0.95 join_merge.MergeAsof.time_by_int('forward', None) - 76.1±1ms 71.4±0.6ms 0.94 join_merge.MergeAsof.time_by_int('backward', 5) - 5.25±0.04ms 4.91±0.05ms 0.94 join_merge.Merge.time_merge_dataframe_integer_2key(False) - 24.0±0.3ms 22.3±0.3ms 0.93 join_merge.Join.time_join_dataframe_index_multi(True) - 78.5±0.7ms 71.5±0.7ms 0.91 join_merge.Concat.time_concat_series(1) - 363±1μs 321±3μs 0.89 join_merge.Concat.time_concat_mixed_ndims(0) - 587±1μs 509±3μs 0.87 join_merge.Concat.time_concat_mixed_ndims(1) - 260±0.4ms 223±0.6ms 0.86 join_merge.MergeCategoricals.time_merge_cat - 84.6±0.5ms 71.2±0.3ms 0.84 join_merge.MergeOrdered.time_merge_ordered - 1.22±0.03s 1.02±0s 0.84 join_merge.JoinIndex.time_left_outer_join_index - 795±2ms 661±8ms 0.83 join_merge.I8Merge.time_i8merge('right') - 743±2ms 607±8ms 0.82 join_merge.I8Merge.time_i8merge('left') - 157±2μs 127±2μs 0.81 join_merge.Concat.time_concat_empty_left(1) - 724±9ms 587±9ms 0.81 join_merge.I8Merge.time_i8merge('inner') - 725±1ms 588±8ms 0.81 join_merge.I8Merge.time_i8merge('outer') - 156±2μs 126±2μs 0.81 join_merge.Concat.time_concat_empty_right(1) - 2.36±0.01ms 1.86±0.01ms 0.79 join_merge.Merge.time_merge_dataframe_integer_key(True) - 19.6±0.2ms 15.1±0.3ms 0.77 join_merge.Join.time_join_dataframe_index_multi(False) - 19.1±0.06ms 14.7±0.08ms 0.77 join_merge.MergeAsof.time_on_int('nearest', 5) - 2.00±0.01ms 1.53±0.01ms 0.77 join_merge.Merge.time_merge_dataframe_integer_key(False) - 18.5±0.03ms 14.1±0.1ms 0.76 join_merge.MergeAsof.time_on_int32('nearest', None) - 18.8±0.05ms 14.3±0.04ms 0.76 join_merge.MergeAsof.time_on_uint64('nearest', 5) - 18.9±0.05ms 14.4±0.07ms 0.76 join_merge.MergeAsof.time_on_int32('nearest', 5) - 348±4μs 264±3μs 0.76 join_merge.Append.time_append_homogenous - 18.6±0.06ms 14.1±0.02ms 0.76 join_merge.MergeAsof.time_on_int('nearest', None) - 18.3±0.2ms 13.8±0.04ms 0.75 join_merge.MergeAsof.time_on_uint64('nearest', None) - 15.4±0.08ms 10.9±0.04ms 0.71 join_merge.MergeAsof.time_on_int('forward', 5) - 15.2±0.04ms 10.6±0.09ms 0.70 join_merge.MergeAsof.time_on_int32('forward', 5) - 14.9±0.04ms 10.4±0.03ms 0.70 join_merge.MergeAsof.time_on_int32('forward', None) - 15.0±0.06ms 10.5±0.05ms 0.70 join_merge.MergeAsof.time_on_int('forward', None) - 14.9±0.1ms 10.4±0.04ms 0.70 join_merge.MergeAsof.time_on_uint64('forward', 5) - 14.6±0.06ms 10.2±0.1ms 0.70 join_merge.MergeAsof.time_on_uint64('forward', None) - 14.5±0.03ms 10.1±0.06ms 0.69 join_merge.MergeAsof.time_on_int32('backward', 5) - 14.4±0.08ms 9.90±0.04ms 0.69 join_merge.MergeAsof.time_on_int32('backward', None) - 5.12±0.02ms 3.52±0.01ms 0.69 join_merge.Join.time_join_dataframes_cross(True) - 14.0±0.2ms 9.55±0.08ms 0.68 join_merge.MergeAsof.time_on_int('backward', 5) - 13.7±0.05ms 9.26±0.05ms 0.68 join_merge.MergeAsof.time_on_uint64('backward', 5) - 13.8±0.09ms 9.24±0.04ms 0.67 join_merge.MergeAsof.time_on_int('backward', None) - 4.90±0.03ms 3.27±0.03ms 0.67 join_merge.Join.time_join_dataframes_cross(False) - 13.4±0.08ms 8.91±0.03ms 0.67 join_merge.MergeAsof.time_on_uint64('backward', None) - 12.9±0.1ms 8.55±0.02ms 0.66 join_merge.Join.time_join_dataframe_index_shuffle_key_bigger_sort(False) - 13.2±0.1ms 8.66±0.04ms 0.66 join_merge.Join.time_join_dataframe_index_single_key_bigger(False) - 12.4±0.3ms 7.73±0.03ms 0.62 join_merge.Join.time_join_dataframe_index_single_key_small(False) - 857±20μs 513±9μs 0.60 join_merge.Append.time_append_mixed - 11.6±0.04ms 6.82±0.03ms 0.59 join_merge.Concat.time_concat_small_frames(1) - 17.7±0.1ms 10.1±0.02ms 0.57 join_merge.Concat.time_concat_small_frames(0) - 789±5ms 413±1ms 0.52 join_merge.Merge.time_merge_dataframes_cross(False) - 789±2ms 413±0.7ms 0.52 join_merge.Merge.time_merge_dataframes_cross(True) - 50.4±0.9ms 255±0.8μs 0.01 join_merge.ConcatDataFrames.time_f_ordered(1, False) - 49.4±3ms 215±1μs 0.00 join_merge.ConcatDataFrames.time_f_ordered(1, True) - 77.3±40ms 256±1μs 0.00 join_merge.ConcatDataFrames.time_c_ordered(1, False) - 76.8±30ms 214±2μs 0.00 join_merge.ConcatDataFrames.time_c_ordered(1, True) SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY. PERFORMANCE DECREASED. ```

reindex

$ asv continuous -f 1.01 -b reindex HEAD~1 HEAD ```diff before after ratio [78aa7f40] [ea965b27] + 16.4±0.6ms 95.1±40ms 5.81 frame_methods.Reindex.time_reindex_both_axes + 41.0±0.3ms 103±0.5ms 2.52 frame_methods.Reindex.time_reindex_axis1_missing + 7.04±0.2ms 16.7±0.3ms 2.37 frame_methods.Reindex.time_reindex_upcast + 3.70±0.05ms 6.86±0.03ms 1.85 frame_methods.Reindex.time_reindex_axis0 + 789±6μs 1.13±0.01ms 1.43 reindex.ReindexMethod.time_reindex_method('pad', ) + 935±9μs 1.28±0.01ms 1.37 reindex.ReindexMethod.time_reindex_method('pad', ) + 733±6μs 977±20μs 1.33 reindex.ReindexMethod.time_reindex_method('backfill', ) + 741±30μs 985±30μs 1.33 reindex.LevelAlign.time_align_level + 770±40μs 999±20μs 1.30 reindex.LevelAlign.time_reindex_level + 251±2μs 324±20μs 1.29 reindex.Fillna.time_reindexed('pad') + 879±5μs 1.10±0.01ms 1.26 reindex.ReindexMethod.time_reindex_method('backfill', ) + 303±2μs 377±3μs 1.24 reindex.Reindex.time_reindex_dates + 198±2μs 226±3μs 1.14 reindex.Fillna.time_float_32('pad') + 288±4μs 319±6μs 1.11 reindex.Fillna.time_reindexed('backfill') - 2.51±0.04ms 2.44±0.01ms 0.97 reindex.DropDuplicates.time_frame_drop_dups_bool(False) - 412±4μs 368±2μs 0.89 reindex.DropDuplicates.time_series_drop_dups_string(False) - 356±2μs 309±0.9μs 0.87 reindex.DropDuplicates.time_series_drop_dups_int(False) - 5.91±0.06ms 5.12±0.07ms 0.86 reindex.DropDuplicates.time_frame_drop_dups_int(True) - 264±1μs 219±0.4μs 0.83 reindex.DropDuplicates.time_series_drop_dups_string(True) - 245±2μs 200±0.9μs 0.82 reindex.DropDuplicates.time_series_drop_dups_int(True) - 525±4μs 242±2μs 0.46 reindex.Reindex.time_reindex_columns - 28.6±0.07ms 640±10μs 0.02 frame_methods.Reindex.time_reindex_axis1 ```

reshape

$ asv continuous -f 1.01 -b reshape HEAD~1 HEAD ```diff before after ratio [c9628cbd] [707df345] + 93.8±2ms 1.10±0.02s 11.78 reshape.Unstack.time_without_last_row('int') + 43.2±0.1ms 205±10ms 4.75 reshape.Unstack.time_full_product('int') + 4.13±0.03ms 9.47±0.06ms 2.30 reshape.SimpleReshape.time_stack + 2.10±0.02ms 2.70±0.02ms 1.29 reshape.SimpleReshape.time_unstack - 268±0.5μs 263±1μs 0.98 reshape.Explode.time_explode(100, 10) - 309±2ms 297±1ms 0.96 reshape.WideToLong.time_wide_to_long_big - 26.5±0.4ms 24.7±0.1ms 0.93 reshape.Crosstab.time_crosstab - 87.4±0.3ms 78.9±0.9ms 0.90 reshape.Crosstab.time_crosstab_normalize_margins - 25.8±0.4ms 23.1±0.2ms 0.89 reshape.Crosstab.time_crosstab_values - 3.24±0.02ms 2.44±0.01ms 0.75 reshape.Melt.time_melt_dataframe - 353±0.9ms 193±2ms 0.55 reshape.Unstack.time_without_last_row('category') - 349±0.7ms 64.3±2ms 0.18 reshape.Unstack.time_full_product('category') ```
jbrockmendel commented 3 years ago

Are there any consistent benchmark results that dont make sense to you? (xref #40066)

If I add a copy, it becomes a more modest speedup of 2-3x (instead of >100x).

can you mark the ones that are significantly affected by this?

Big picture, can you give an update on what is left to implement (e.g. im guessing json and pytables)

jorisvandenbossche commented 3 years ago

Are there any consistent benchmark results that dont make sense to you?

I didn't see anything particularly strange, up to now. (in the next batch about reductions, I noticed some strange speed-ups, that probably point to an issue in the BlockManager implementation, but comment about that in detail in the next post, probably tomorrow)

If I add a copy, it becomes a more modest speedup of 2-3x (instead of >100x).

can you mark the ones that are significantly affected by this?

Only the onces doing a simple concat(.., axis=1), so the 4ConcatDataFramesbenchmarks (the 4 that show the biggest speedup, so at the bottom of the list). Other benchmarks likemerge` that also have a speedup don't have that issue, since those already did a reindexing (and thus a copy) anyway. But note that, if we decide to go with copy-on-write, we don't need to add a copy to preserve behaviour.

Big picture, can you give an update on what is left to implement (e.g. im guessing json and pytables)

Yes, with the several indexing related PRs I opened today, we are running most of the tests. And the biggest chunks of skipped tests are related to JSON and PyTables IO. Related to IO, there is also Parquet (but that's depending on downstream libraries) and pickling. Next to that, there are still various smaller corner cases to fix (the TODO(ArrayManager) skipped tests), but in the grand scheme of things, the ones that are left are relatively minor, I think. I also need to get back to concat(.., axis=0) with reindexing (#39612), and there are still some usages of apply_with_block that ideally would be cleaned up (although that doesn't prevent AraryManager being usable). For performance related issues, I mainly need to get back to the element-wise ops I started with a while ago (#39772, and related PRs).

jorisvandenbossche commented 3 years ago

Some more benchmark results:

groupby

$ asv continuous -f 1.01 -b groupby HEAD~1 HEAD ```diff before after ratio [c9628cbd] [707df345] + 3.83±0.02ms 61.6±0.2ms 16.07 groupby.GroupManyLabels.time_sum(1000) + 8.23±0.05ms 21.4±0.06ms 2.60 groupby.Apply.time_scalar_function_single_col(4) + 23.9±0.1ms 59.6±0.2ms 2.49 groupby.Apply.time_scalar_function_multi_col(4) + 51.8±0.4ms 58.4±0.5ms 1.13 groupby.GroupByCythonAgg.time_frame_agg('float64', 'max') + 267±1μs 300±2μs 1.12 groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'direct') + 266±2μs 299±2μs 1.12 groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'transformation') + 278±0.8μs 313±0.9μs 1.12 groupby.GroupByMethods.time_dtype_as_field('datetime', 'tail', 'transformation') + 279±1μs 313±2μs 1.12 groupby.GroupByMethods.time_dtype_as_field('datetime', 'tail', 'direct') + 6.54±0.1ms 7.24±0.09ms 1.11 groupby.Apply.time_scalar_function_single_col(5) + 66.9±0.6ms 70.1±1ms 1.05 groupby.GroupByCythonAgg.time_frame_agg('float64', 'var') - 273±1μs 271±2μs 0.99 groupby.GroupByMethods.time_dtype_as_field('float', 'tail', 'direct') - 28.0±0.07ms 27.7±0.2ms 0.99 groupby.AggEngine.time_series_cython(False) - 114±0.2ms 112±0.7ms 0.98 groupby.GroupByMethods.time_dtype_as_group('datetime', 'unique', 'direct') - 517±2μs 509±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'bfill', 'transformation') - 447±4μs 439±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('int', 'median', 'direct') - 363±2μs 356±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'direct') - 505±3μs 495±2μs 0.98 groupby.GroupByMethods.time_dtype_as_field('int', 'nunique', 'transformation') - 363±3μs 356±0.9μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'transformation') - 860±4μs 844±0.9μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'value_counts', 'transformation') - 519±1μs 509±2μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'ffill', 'transformation') - 477±2μs 467±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'nunique', 'direct') - 333±2μs 326±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'bfill', 'transformation') - 356±1μs 348±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'direct') - 545±2μs 533±0.3μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'quantile', 'transformation') - 461±2μs 451±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'nunique', 'transformation') - 6.59±0.02ms 6.44±0.02ms 0.98 groupby.Transform.time_transform_multi_key3 - 333±2μs 325±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'ffill', 'direct') - 478±1μs 466±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'nunique', 'transformation') - 561±5μs 548±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('int', 'quantile', 'direct') - 584±3μs 570±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'rank', 'direct') - 378±3μs 369±0.9μs 0.98 groupby.GroupByMethods.time_dtype_as_field('object', 'first', 'direct') - 569±3μs 555±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'direct') - 358±1μs 349±0.5μs 0.98 groupby.GroupByMethods.time_dtype_as_group('float', 'ffill', 'transformation') - 525±2μs 512±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'nunique', 'direct') - 449±3μs 438±0.6μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'direct') - 440±6μs 428±2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'transformation') - 367±1μs 357±2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('object', 'nunique', 'direct') - 531±1μs 517±2μs 0.97 groupby.GroupByMethods.time_dtype_as_field('datetime', 'quantile', 'direct') - 436±3μs 423±0.9μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'transformation') - 429±3μs 416±1μs 0.97 groupby.GroupByMethods.time_dtype_as_field('int', 'sum', 'transformation') - 527±4μs 512±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'nunique', 'transformation') - 224±3μs 218±0.6μs 0.97 groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'direct') - 1.22±0.01ms 1.19±0ms 0.97 groupby.GroupByMethods.time_dtype_as_field('float', 'pct_change', 'direct') - 256±2μs 248±2μs 0.97 groupby.GroupByMethods.time_dtype_as_field('float', 'min', 'direct') - 294±0.7μs 285±1μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'transformation') - 977±2μs 948±1μs 0.97 groupby.GroupByMethods.time_dtype_as_group('datetime', 'value_counts', 'transformation') - 30.3±0.1ms 29.4±0.2ms 0.97 groupby.AggEngine.time_dataframe_cython(False) - 405±4μs 393±2μs 0.97 groupby.GroupByMethods.time_dtype_as_field('int', 'mean', 'transformation') - 402±3μs 390±0.4μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'cumprod', 'transformation') - 443±3μs 429±2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'transformation') - 429±4μs 416±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'transformation') - 454±2μs 440±1μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'direct') - 229±2μs 221±0.9μs 0.97 groupby.GroupByMethods.time_dtype_as_group('datetime', 'head', 'transformation') - 285±3μs 275±1μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'direct') - 370±3μs 358±1μs 0.97 groupby.GroupByMethods.time_dtype_as_group('object', 'nunique', 'transformation') - 253±3μs 245±2μs 0.97 groupby.GroupByMethods.time_dtype_as_field('int', 'cummax', 'direct') - 366±0.8μs 353±0.8μs 0.97 groupby.GroupByMethods.time_dtype_as_field('object', 'last', 'direct') - 296±3μs 286±0.8μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'transformation') - 365±0.9μs 353±0.5μs 0.97 groupby.GroupByMethods.time_dtype_as_field('object', 'last', 'transformation') - 296±1μs 286±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'direct') - 564±2μs 544±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'direct') - 316±3μs 304±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'transformation') - 415±3μs 400±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'prod', 'direct') - 986±10μs 950±3μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'value_counts', 'direct') - 441±6μs 424±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'direct') - 296±4μs 285±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'transformation') - 297±3μs 286±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct') - 298±2μs 287±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'transformation') - 294±2μs 283±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'transformation') - 293±2μs 281±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'var', 'transformation') - 296±3μs 285±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'direct') - 293±3μs 282±0.7μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'max', 'transformation') - 224±0.9μs 215±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation') - 226±3μs 217±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'transformation') - 271±3μs 260±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'cumcount', 'direct') - 253±2μs 243±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'direct') - 295±1μs 284±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'direct') - 297±3μs 286±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'direct') - 270±2μs 259±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'cumcount', 'transformation') - 286±4μs 275±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'transformation') - 272±3μs 261±0.8μs 0.96 groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'direct') - 226±3μs 217±0.7μs 0.96 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct') - 4.29±0.01ms 4.12±0.01ms 0.96 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'std') - 299±2μs 287±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'direct') - 270±1μs 260±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_field('datetime', 'cumcount', 'direct') - 246±1μs 236±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'last', 'direct') - 224±0.8μs 215±0.6μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct') - 4.32±0.02ms 4.15±0.03ms 0.96 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'skew') - 259±2μs 249±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'direct') - 567±4μs 544±3μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'transformation') - 257±1μs 247±0.6μs 0.96 groupby.GroupByMethods.time_dtype_as_field('object', 'count', 'transformation') - 202±1μs 194±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'direct') - 270±1μs 259±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_field('datetime', 'cumcount', 'transformation') - 298±2μs 285±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'direct') - 271±2μs 259±0.8μs 0.96 groupby.GroupByMethods.time_dtype_as_field('object', 'cumcount', 'direct') - 243±2μs 233±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'prod', 'transformation') - 282±3μs 270±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'last', 'direct') - 277±1μs 265±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'median', 'direct') - 8.42±0.03ms 8.06±0.01ms 0.96 groupby.CountMultiInt.time_multi_int_nunique - 163±0.8μs 156±0.7μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'direct') - 4.49±0.01ms 4.30±0.02ms 0.96 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'count') - 219±0.9μs 210±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'cumsum', 'transformation') - 238±3μs 227±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'transformation') - 590±0.6μs 565±0.7μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'transformation') - 241±2μs 230±0.5μs 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct') - 215±1μs 205±0.8μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'transformation') - 248±1μs 237±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'direct') - 4.30±0.02ms 4.12±0.02ms 0.96 rolling.ExpandingMethods.time_expanding_groupby('Series', 'int', 'skew') - 493±2μs 471±1μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'nunique', 'transformation') - 251±3μs 240±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'cummin', 'direct') - 450±3μs 430±3μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'direct') - 259±3μs 247±2μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'max', 'transformation') - 271±1μs 259±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'cumcount', 'direct') - 4.27±0.02ms 4.08±0.03ms 0.96 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'sum') - 237±2μs 226±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct') - 212±0.5μs 202±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'cumprod', 'direct') - 328±1μs 313±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('datetime', 'min', 'direct') - 246±3μs 235±1μs 0.96 groupby.GroupByMethods.time_dtype_as_field('float', 'last', 'transformation') - 275±1μs 262±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'cumcount', 'direct') - 592±2μs 565±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'direct') - 247±2μs 236±0.9μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'transformation') - 297±2μs 284±0.5μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'transformation') - 4.23±0.01ms 4.04±0.02ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('Series', 'int', 'min') - 4.27±0.04ms 4.07±0.01ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('Series', 'int', 'sum') - 164±0.5μs 156±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'direct') - 469±3μs 448±2μs 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'unique', 'direct') - 272±1μs 260±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('object', 'cumcount', 'transformation') - 256±2μs 245±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'first', 'direct') - 4.33±0.02ms 4.13±0.02ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'median') - 164±0.8μs 156±0.8μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'direct') - 4.29±0.01ms 4.09±0.04ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'mean') - 299±2μs 285±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'transformation') - 223±0.5μs 212±0.9μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'var', 'direct') - 215±0.6μs 205±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct') - 495±1μs 472±0.7μs 0.95 groupby.GroupByMethods.time_dtype_as_group('datetime', 'nunique', 'direct') - 666±2μs 634±2μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'direct') - 672±2μs 641±3μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct') - 250±1μs 238±0.3μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'sum', 'transformation') - 245±0.6μs 234±0.7μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'transformation') - 670±2μs 638±2μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'transformation') - 245±2μs 234±0.8μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'direct') - 250±1μs 238±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'sum', 'direct') - 3.17±0.02ms 3.02±0.03ms 0.95 groupby.CountMultiInt.time_multi_int_count - 219±1μs 208±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'cumsum', 'direct') - 163±2μs 156±0.8μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'transformation') - 4.25±0.02ms 4.05±0.02ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('Series', 'int', 'max') - 244±1μs 232±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'prod', 'direct') - 673±2μs 640±0.9μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'transformation') - 246±1μs 234±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'direct') - 162±0.6μs 154±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'all', 'transformation') - 329±0.7μs 313±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('datetime', 'first', 'direct') - 162±1μs 154±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'direct') - 329±1μs 313±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('datetime', 'first', 'transformation') - 246±0.6μs 234±2μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'transformation') - 166±0.6μs 157±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'direct') - 260±2μs 247±2μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'transformation') - 4.24±0.02ms 4.03±0.03ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'max') - 211±0.8μs 200±0.4μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'cumprod', 'transformation') - 226±0.6μs 214±0.7μs 0.95 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'transformation') - 317±2μs 301±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('datetime', 'max', 'transformation') - 235±2μs 223±0.6μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'mean', 'direct') - 162±3μs 153±0.6μs 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'any', 'transformation') - 196±2μs 186±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'std', 'direct') - 192±0.4μs 182±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'std', 'transformation') - 166±0.7μs 157±2μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'transformation') - 198±0.5μs 188±0.8μs 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'direct') - 4.24±0.02ms 4.02±0.02ms 0.95 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'int', 'min') - 318±1μs 301±0.8μs 0.95 groupby.GroupByMethods.time_dtype_as_field('datetime', 'max', 'direct') - 127±3μs 120±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'count', 'direct') - 328±2μs 310±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('datetime', 'min', 'transformation') - 228±1μs 215±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'direct') - 239±0.8μs 226±1μs 0.95 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'transformation') - 205±1μs 193±0.7μs 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'transformation') - 314±2μs 297±0.9μs 0.94 groupby.GroupByMethods.time_dtype_as_field('datetime', 'last', 'transformation') - 217±1μs 205±0.5μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'cummax', 'transformation') - 842±3μs 796±5μs 0.94 groupby.Datelike.time_sum('date_range') - 218±1μs 206±0.6μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'cummin', 'transformation') - 218±2μs 206±0.6μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'cummin', 'direct') - 226±0.4μs 213±0.4μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'transformation') - 295±2μs 279±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'direct') - 126±3μs 119±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'count', 'direct') - 286±2μs 270±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('datetime', 'cummin', 'direct') - 227±2μs 215±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'transformation') - 226±0.7μs 214±0.3μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'direct') - 239±1μs 226±0.9μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'direct') - 225±1μs 213±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'direct') - 5.70±0.2ms 5.38±0.03ms 0.94 rolling.GroupbyEWM.time_groupby_method('cov') - 295±1μs 278±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'direct') - 162±0.5μs 153±0.9μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'transformation') - 198±1μs 187±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'transformation') - 241±0.9μs 227±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'transformation') - 193±0.8μs 182±0.8μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'std', 'direct') - 659±2μs 621±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'sem', 'direct') - 168±1μs 158±0.6μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'direct') - 198±1μs 186±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'std', 'transformation') - 287±3μs 270±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('datetime', 'cummin', 'transformation') - 219±0.8μs 206±0.2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'direct') - 167±0.5μs 158±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'transformation') - 161±1μs 151±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'direct') - 2.88±0.01ms 2.71±0.02ms 0.94 rolling.GroupbyEWMEngine.time_groupby_mean('cython') - 131±2μs 123±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'size', 'transformation') - 161±1μs 152±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'transformation') - 41.2±0.7ms 38.7±0.6ms 0.94 groupby.Nth.time_series_nth_any('datetime') - 40.8±0.3ms 38.3±0.5ms 0.94 groupby.Nth.time_series_nth_all('datetime') - 315±1μs 296±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('datetime', 'last', 'direct') - 131±1μs 123±2μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'size', 'transformation') - 165±0.6μs 155±0.7μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'any', 'direct') - 218±0.8μs 205±0.8μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'cummax', 'direct') - 296±2μs 278±3μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'transformation') - 292±3μs 274±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'transformation') - 166±0.8μs 156±0.9μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'all', 'transformation') - 660±4μs 619±3μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'transformation') - 168±0.9μs 158±0.5μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'direct') - 24.0±0.07ms 22.5±0.2ms 0.94 groupby.AggFunctions.time_different_python_functions_multicol - 131±2μs 123±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('object', 'size', 'direct') - 135±1μs 127±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'size', 'transformation') - 666±10μs 625±2μs 0.94 groupby.GroupByMethods.time_dtype_as_field('int', 'sem', 'transformation') - 263±2μs 247±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'max', 'direct') - 168±1μs 157±0.7μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'transformation') - 295±1μs 276±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'direct') - 297±4μs 278±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'transformation') - 292±2μs 273±0.9μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'direct') - 161±1μs 151±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'direct') - 135±2μs 127±2μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'size', 'direct') - 131±2μs 123±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('object', 'size', 'transformation') - 132±2μs 124±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('datetime', 'size', 'direct') - 813±3μs 761±2μs 0.94 groupby.Datelike.time_sum('date_range_tz') - 131±2μs 123±1μs 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'size', 'direct') - 129±3μs 120±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('int', 'count', 'direct') - 296±3μs 277±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'transformation') - 130±2μs 122±0.7μs 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'count', 'transformation') - 132±2μs 123±1μs 0.93 groupby.GroupByMethods.time_dtype_as_field('int', 'size', 'direct') - 132±2μs 123±1μs 0.93 groupby.GroupByMethods.time_dtype_as_group('object', 'size', 'direct') - 4.38±0.01ms 4.09±0.04ms 0.93 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'sum') - 134±2μs 125±2μs 0.93 groupby.GroupByMethods.time_dtype_as_group('int', 'size', 'transformation') - 2.89±0.03ms 2.69±0.01ms 0.93 rolling.GroupbyEWM.time_groupby_method('var') - 243±2μs 226±1μs 0.93 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'direct') - 128±3μs 119±2μs 0.93 groupby.GroupByMethods.time_dtype_as_field('int', 'count', 'direct') - 4.47±0.01ms 4.15±0.02ms 0.93 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'median') - 132±2μs 122±2μs 0.93 groupby.GroupByMethods.time_dtype_as_group('object', 'size', 'transformation') - 1.35±0.01ms 1.25±0.01ms 0.93 groupby.RankWithTies.time_rank_ties('float32', 'max') - 4.40±0.03ms 4.09±0.03ms 0.93 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'min') - 4.39±0.01ms 4.07±0.02ms 0.93 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'max') - 1.35±0.01ms 1.26±0.01ms 0.93 groupby.RankWithTies.time_rank_ties('float32', 'dense') - 4.42±0.01ms 4.09±0.02ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'mean') - 167±0.5μs 155±0.6μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'transformation') - 4.48±0.06ms 4.14±0.03ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'skew') - 4.47±0.03ms 4.13±0.01ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'skew') - 168±2μs 156±1μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'direct') - 4.38±0.01ms 4.05±0.02ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'max') - 1.34±0.01ms 1.23±0.01ms 0.92 groupby.RankWithTies.time_rank_ties('float64', 'dense') - 114±1ms 106±0.2ms 0.92 groupby.GroupByMethods.time_dtype_as_field('datetime', 'unique', 'transformation') - 115±1ms 106±0.3ms 0.92 groupby.GroupByMethods.time_dtype_as_field('datetime', 'unique', 'direct') - 167±0.7μs 154±0.9μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'direct') - 4.48±0.03ms 4.13±0.01ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'std') - 4.41±0.01ms 4.06±0.03ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'sum') - 4.48±0.02ms 4.13±0.02ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'median') - 277±2ms 255±2ms 0.92 groupby.GroupByCythonAgg.time_frame_agg('float64', 'median') - 1.34±0ms 1.23±0ms 0.92 groupby.RankWithTies.time_rank_ties('float64', 'max') - 1.39±0.01ms 1.28±0.01ms 0.92 groupby.RankWithTies.time_rank_ties('int64', 'first') - 4.38±0.03ms 4.02±0.01ms 0.92 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'min') - 1.36±0ms 1.25±0ms 0.92 groupby.RankWithTies.time_rank_ties('float32', 'min') - 1.36±0.01ms 1.24±0ms 0.92 groupby.RankWithTies.time_rank_ties('float32', 'first') - 169±0.7μs 155±2μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'transformation') - 1.34±0.01ms 1.23±0ms 0.92 groupby.RankWithTies.time_rank_ties('float64', 'average') - 1.34±0.01ms 1.23±0.01ms 0.92 groupby.RankWithTies.time_rank_ties('float64', 'min') - 1.38±0ms 1.26±0.01ms 0.92 groupby.RankWithTies.time_rank_ties('int64', 'min') - 1.36±0.01ms 1.25±0ms 0.92 groupby.RankWithTies.time_rank_ties('float32', 'average') - 1.39±0.01ms 1.27±0ms 0.92 groupby.RankWithTies.time_rank_ties('int64', 'dense') - 1.38±0.01ms 1.26±0ms 0.92 groupby.RankWithTies.time_rank_ties('int64', 'average') - 6.15±0.2ms 5.61±0.03ms 0.91 rolling.GroupbyEWM.time_groupby_method('corr') - 1.39±0.02ms 1.26±0ms 0.91 groupby.RankWithTies.time_rank_ties('int64', 'max') - 33.4±0.03ms 30.4±0.08ms 0.91 rolling.Pairwise.time_groupby(10, 'cov', False) - 131±2μs 120±1μs 0.91 groupby.GroupByMethods.time_dtype_as_group('datetime', 'count', 'transformation') - 4.73±0.01ms 4.29±0.01ms 0.91 rolling.ExpandingMethods.time_expanding_groupby('Series', 'float', 'count') - 138±2μs 125±1μs 0.91 groupby.GroupByMethods.time_dtype_as_group('datetime', 'size', 'transformation') - 33.5±0.2ms 30.4±0.1ms 0.91 rolling.Pairwise.time_groupby(1000, 'cov', False) - 4.75±0.01ms 4.30±0.03ms 0.91 rolling.ExpandingMethods.time_expanding_groupby('DataFrame', 'float', 'count') - 33.9±0.2ms 30.7±0.09ms 0.91 rolling.Pairwise.time_groupby(10, 'corr', False) - 33.9±0.2ms 30.6±0.1ms 0.90 rolling.Pairwise.time_groupby(1000, 'corr', False) - 534±2μs 482±2μs 0.90 groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'direct') - 31.7±0.3ms 28.6±0.1ms 0.90 rolling.Pairwise.time_groupby(None, 'cov', False) - 535±3μs 483±2μs 0.90 groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'transformation') - 138±2μs 125±1μs 0.90 groupby.GroupByMethods.time_dtype_as_group('datetime', 'size', 'direct') - 32.2±0.1ms 28.9±0.07ms 0.90 rolling.Pairwise.time_groupby(None, 'corr', False) - 1.78±0.01s 1.60±0s 0.90 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'transformation') - 1.12±0ms 1.01±0.01ms 0.90 groupby.SumMultiLevel.time_groupby_sum_multiindex - 1.21±0.01s 1.09±0s 0.90 groupby.GroupByMethods.time_dtype_as_field('int', 'describe', 'direct') - 2.78±0.01s 2.48±0.01s 0.89 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'transformation') - 1.79±0.01s 1.60±0s 0.89 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct') - 1.47±0.01ms 1.31±0.01ms 0.89 groupby.RankWithTies.time_rank_ties('datetime64', 'dense') - 135±3μs 120±2μs 0.89 groupby.GroupByMethods.time_dtype_as_group('datetime', 'count', 'direct') - 1.23±0.01s 1.10±0s 0.89 groupby.GroupByMethods.time_dtype_as_field('float', 'describe', 'direct') - 1.21±0.01s 1.08±0s 0.89 groupby.GroupByMethods.time_dtype_as_field('int', 'describe', 'transformation') - 461±3μs 411±1μs 0.89 groupby.GroupByMethods.time_dtype_as_field('datetime', 'ffill', 'transformation') - 2.78±0.01s 2.48±0.01s 0.89 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'direct') - 4.53±0.02ms 4.03±0.03ms 0.89 groupby.CountMultiDtype.time_multi_count - 461±2μs 409±1μs 0.89 groupby.GroupByMethods.time_dtype_as_field('datetime', 'bfill', 'direct') - 1.24±0.01s 1.10±0.01s 0.89 groupby.GroupByMethods.time_dtype_as_field('float', 'describe', 'transformation') - 1.47±0.01ms 1.31±0.02ms 0.89 groupby.RankWithTies.time_rank_ties('datetime64', 'first') - 1.47±0.01ms 1.30±0ms 0.89 groupby.RankWithTies.time_rank_ties('datetime64', 'average') - 1.47±0.01ms 1.30±0.01ms 0.88 groupby.RankWithTies.time_rank_ties('datetime64', 'min') - 462±0.8μs 409±0.9μs 0.88 groupby.GroupByMethods.time_dtype_as_field('datetime', 'bfill', 'transformation') - 463±0.9μs 409±0.9μs 0.88 groupby.GroupByMethods.time_dtype_as_field('datetime', 'ffill', 'direct') - 1.46±0.01ms 1.29±0.01ms 0.88 groupby.RankWithTies.time_rank_ties('datetime64', 'max') - 1.90±0.01ms 1.62±0.03ms 0.86 groupby.TransformNaN.time_first - 267±2μs 228±1μs 0.85 groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'direct') - 269±2μs 229±2μs 0.85 groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'direct') - 269±3μs 228±0.9μs 0.85 groupby.GroupByMethods.time_dtype_as_field('datetime', 'all', 'transformation') - 267±2μs 227±0.9μs 0.85 groupby.GroupByMethods.time_dtype_as_field('datetime', 'any', 'transformation') - 2.41±0.01ms 2.00±0.02ms 0.83 groupby.FillNA.time_df_ffill - 418±3ms 346±2ms 0.83 groupby.GroupByMethods.time_dtype_as_field('int', 'mad', 'transformation') - 418±3ms 346±3ms 0.83 groupby.GroupByMethods.time_dtype_as_field('int', 'mad', 'direct') - 616±3ms 510±4ms 0.83 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'transformation') - 962±2ms 797±7ms 0.83 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'transformation') - 414±2ms 342±3ms 0.83 groupby.GroupByMethods.time_dtype_as_field('float', 'mad', 'direct') - 1.33±0.02ms 1.10±0ms 0.83 groupby.SumBools.time_groupby_sum_booleans - 964±5ms 796±7ms 0.83 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'direct') - 619±2ms 510±5ms 0.82 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'direct') - 417±2ms 342±4ms 0.82 groupby.GroupByMethods.time_dtype_as_field('float', 'mad', 'transformation') - 2.43±0.01ms 1.99±0.01ms 0.82 groupby.FillNA.time_df_bfill - 309±0.9μs 253±0.9μs 0.82 groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'transformation') - 310±1μs 253±1μs 0.81 groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'direct') - 96.1±0.8ms 77.7±0.8ms 0.81 groupby.TransformEngine.time_dataframe_cython(False) - 96.6±1ms 77.4±1ms 0.80 groupby.TransformEngine.time_dataframe_cython(True) - 579±2μs 460±5μs 0.80 groupby.GroupManyLabels.time_sum(1) - 195±0.7μs 150±1μs 0.77 groupby.GroupByMethods.time_dtype_as_field('datetime', 'count', 'transformation') - 195±2μs 150±0.4μs 0.77 groupby.GroupByMethods.time_dtype_as_field('datetime', 'count', 'direct') - 6.89±0.9ms 4.86±0.06ms 0.70 groupby.Transform.time_transform_ufunc_max - 66.6±0.3ms 46.8±0.2ms 0.70 groupby.Apply.time_copy_function_multi_col(5) - 959±6μs 674±2μs 0.70 groupby.GroupByMethods.time_dtype_as_field('datetime', 'value_counts', 'transformation') - 961±7μs 673±3μs 0.70 groupby.GroupByMethods.time_dtype_as_field('datetime', 'value_counts', 'direct') - 546±5μs 326±0.5μs 0.60 groupby.GroupByMethods.time_dtype_as_field('datetime', 'nunique', 'transformation') - 545±6μs 326±1μs 0.60 groupby.GroupByMethods.time_dtype_as_field('datetime', 'nunique', 'direct') - 608±0.4ms 172±0.8ms 0.28 groupby.Apply.time_copy_overhead_single_col(4) - 1.86±0.01s 455±2ms 0.24 groupby.Apply.time_copy_function_multi_col(4) ```

A few things are significantly slower:

What's faster:

jorisvandenbossche commented 3 years ago

Reductions (stat_ops)

$ asv continuous -f 1.01 -b stat_ops HEAD~1 HEAD ```diff before after ratio [c9628cbd] [707df345] + 11.9±0.05ms 425±5ms 35.75 stat_ops.Correlation.time_corrwith_rows('pearson') + 1.78±0.03ms 6.63±0.1ms 3.72 stat_ops.FrameOps.time_op('mean', 'float', 1) + 1.76±0.03ms 6.41±0.06ms 3.64 stat_ops.FrameOps.time_op('sum', 'float', 1) + 6.51±0.3ms 17.9±0.2ms 2.74 stat_ops.Correlation.time_corrwith_cols('pearson') + 6.28±0.2ms 16.9±0.4ms 2.68 stat_ops.FrameOps.time_op('mad', 'float', 1) + 3.35±0.06ms 6.07±0.3ms 1.81 stat_ops.FrameMultiIndexOps.time_op(0, 'var') + 3.46±0.07ms 5.97±0.08ms 1.72 stat_ops.FrameMultiIndexOps.time_op(1, 'var') + 3.09±0.05ms 5.23±0.09ms 1.69 stat_ops.FrameMultiIndexOps.time_op(0, 'sum') + 3.12±0.07ms 5.18±0.1ms 1.66 stat_ops.FrameMultiIndexOps.time_op(0, 'mean') + 3.16±0.04ms 5.12±0.04ms 1.62 stat_ops.FrameMultiIndexOps.time_op(1, 'sum') + 3.19±0.1ms 5.13±0.09ms 1.61 stat_ops.FrameMultiIndexOps.time_op(1, 'mean') + 1.82±0.03ms 2.89±0.02ms 1.59 stat_ops.FrameOps.time_op('sum', 'int', 1) + 4.20±0.08ms 6.44±0.1ms 1.54 stat_ops.FrameOps.time_op('prod', 'float', 1) + 2.06±0.04ms 3.16±0.02ms 1.53 stat_ops.FrameOps.time_op('prod', 'int', 1) + 639±5ms 927±7ms 1.45 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'skew') + 6.41±0.3ms 8.93±0.1ms 1.39 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'var') + 75.5±1ms 104±2ms 1.37 stat_ops.FrameMultiIndexOps.time_op(1, 'skew') + 3.17±0.07ms 4.30±0.05ms 1.36 stat_ops.FrameOps.time_op('mean', 'int', 1) + 6.10±0.3ms 8.09±0.07ms 1.32 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'mean') + 1.48±0.01s 1.92±0.02s 1.30 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'mad') + 2.76±0.05ms 3.54±0.05ms 1.28 stat_ops.FrameMultiIndexOps.time_op(1, 'prod') + 2.88±0.05ms 3.63±0.02ms 1.26 stat_ops.FrameMultiIndexOps.time_op(0, 'prod') + 168±3ms 205±3ms 1.22 stat_ops.FrameMultiIndexOps.time_op(1, 'mad') + 12.0±0.8ms 14.6±0.2ms 1.21 stat_ops.FrameOps.time_op('mad', 'int', 1) + 519±6μs 613±10μs 1.18 stat_ops.Correlation.time_corr('pearson') + 14.9±0.09ms 17.5±0.1ms 1.18 stat_ops.Correlation.time_corr_wide_nans('pearson') + 1.57±0.02ms 1.79±0.02ms 1.15 stat_ops.FrameOps.time_op('mean', 'float', 0) + 6.95±0.2ms 7.95±0.04ms 1.14 stat_ops.FrameOps.time_op('median', 'float', 0) + 12.4±0.05ms 12.7±0.07ms 1.02 stat_ops.Rank.time_average_old('DataFrame', False) - 6.57±0.04ms 6.23±0.06ms 0.95 stat_ops.FrameMultiIndexOps.time_op(0, 'std') - 1.25±0.03ms 1.18±0.01ms 0.94 stat_ops.FrameOps.time_op('sum', 'Int64', 0) - 6.72±0.3ms 6.23±0.1ms 0.93 stat_ops.FrameMultiIndexOps.time_op(1, 'std') - 39.2±1ms 36.3±0.2ms 0.93 stat_ops.FrameOps.time_op('prod', 'Int64', 1) - 13.4±0.5ms 12.3±0.05ms 0.92 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'sem') - 41.8±0.7ms 38.3±0.7ms 0.92 stat_ops.FrameOps.time_op('mean', 'Int64', 1) - 10.2±0.2ms 9.30±0.06ms 0.91 stat_ops.FrameMultiIndexOps.time_op(0, 'sem') - 69.0±1ms 55.1±3ms 0.80 stat_ops.SeriesMultiIndexOps.time_op(1, 'mad') - 2.39±0.2ms 1.86±0.04ms 0.78 stat_ops.FrameOps.time_op('prod', 'float', 0) - 613±6ms 477±6ms 0.78 stat_ops.SeriesMultiIndexOps.time_op([0, 1], 'mad') - 13.2±0.5ms 9.90±0.1ms 0.75 stat_ops.SeriesMultiIndexOps.time_op(0, 'mad') - 1.56±0.03ms 1.15±0.01ms 0.74 stat_ops.FrameOps.time_op('sum', 'float', 0) - 6.60±1ms 3.95±0.05ms 0.60 stat_ops.FrameOps.time_op('std', 'float', 0) - 6.59±1ms 3.81±0.04ms 0.58 stat_ops.FrameOps.time_op('var', 'float', 0) - 9.73±0.3ms 5.63±0.07ms 0.58 stat_ops.FrameOps.time_op('mad', 'int', 0) - 9.11±0.7ms 4.85±0.4ms 0.53 stat_ops.FrameOps.time_op('skew', 'float', 0) - 9.03±0.6ms 4.64±0.06ms 0.51 stat_ops.FrameOps.time_op('kurt', 'float', 0) - 2.92±0.01ms 1.34±0.01ms 0.46 stat_ops.SeriesOps.time_op('mad', 'float') - 2.19±0.02ms 962±40μs 0.44 stat_ops.FrameOps.time_op('sum', 'int', 0) - 2.80±0.04ms 1.22±0.02ms 0.44 stat_ops.SeriesOps.time_op('mad', 'int') - 2.42±0.02ms 1.05±0.01ms 0.43 stat_ops.FrameOps.time_op('prod', 'int', 0) - 14.9±0.5ms 6.13±0.04ms 0.41 stat_ops.FrameOps.time_op('sem', 'int', 0) - 5.90±0.02ms 2.36±0.04ms 0.40 stat_ops.FrameOps.time_op('std', 'int', 0) - 5.96±0.1ms 2.28±0.02ms 0.38 stat_ops.FrameOps.time_op('var', 'int', 0) - 2.84±0.02ms 1.06±0.01ms 0.37 stat_ops.FrameOps.time_op('mean', 'int', 0) - 11.2±0.2ms 3.48±0.1ms 0.31 stat_ops.FrameOps.time_op('skew', 'int', 0) - 11.1±0.1ms 3.11±0.07ms 0.28 stat_ops.FrameOps.time_op('kurt', 'int', 0) ```
jorisvandenbossche commented 3 years ago

Element-wise ops (arithmetic)

$ asv continuous -f 1.01 -b arithmetic HEAD~1 HEAD ```diff before after ratio [cc1802b8] [42274f9e] + 450±4μs 5.59±0.08ms 12.42 arithmetic.Ops2.time_frame_series_dot + 1.30±0.01ms 8.33±0.03ms 6.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.30±0.02ms 8.31±0.05ms 6.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.31±0.01ms 8.34±0.04ms 6.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.31±0.01ms 8.35±0.03ms 6.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.31±0.01ms 8.33±0.05ms 6.36 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.39±0.01ms 8.84±0.06ms 6.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.40±0.01ms 8.84±0.08ms 6.32 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.32±0.01ms 8.30±0.07ms 6.31 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 45.1±0.06ms 277±1ms 6.14 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.48±0.01ms 8.99±0.04ms 6.07 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.48±0ms 8.91±0.08ms 6.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.39±0.01ms 8.37±0.06ms 6.03 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.48±0.01ms 8.93±0.05ms 6.02 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.40±0ms 8.31±0.06ms 5.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.47±0.01ms 8.52±0.05ms 5.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.47±0.01ms 8.50±0.03ms 5.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.47±0.01ms 8.45±0.07ms 5.74 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.61±0.01ms 9.13±0.05ms 5.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 6.14±0.03ms 33.8±0.3ms 5.50 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 1.73±0.02ms 9.27±0.08ms 5.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.61±0.01ms 8.60±0.06ms 5.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.74±0.02ms 9.26±0.06ms 5.33 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.73±0.01ms 9.21±0.05ms 5.32 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.74±0.02ms 9.24±0.02ms 5.31 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.74±0.03ms 9.22±0.08ms 5.29 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.74±0.02ms 9.18±0.05ms 5.29 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.81±0.02ms 9.36±0.06ms 5.18 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.81±0.01ms 9.35±0.04ms 5.17 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.75±0.01ms 8.87±0.06ms 5.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.84±0.02ms 9.31±0.05ms 5.07 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.85±0.01ms 9.36±0.05ms 5.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.75±0.01ms 8.85±0.02ms 5.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.91±0.01ms 9.49±0.06ms 4.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.79±0.02ms 8.91±0.03ms 4.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.91±0.01ms 9.48±0.04ms 4.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.79±0.02ms 8.87±0.06ms 4.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.92±0.02ms 9.45±0.05ms 4.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 18.2±0.04ms 88.8±0.3ms 4.88 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 1.93±0.02ms 9.43±0.07ms 4.88 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.94±0.01ms 9.42±0.07ms 4.86 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 10.1±0.04ms 49.3±0.7ms 4.86 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.95±0.01ms 9.46±0.03ms 4.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.86±0.01ms 8.94±0.03ms 4.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.87±0.02ms 8.92±0.04ms 4.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.89±0.02ms 9.00±0.05ms 4.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.88±0.01ms 8.95±0.03ms 4.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.02±0.02ms 9.58±0.05ms 4.75 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.91±0.01ms 9.01±0.05ms 4.73 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.91±0.01ms 8.95±0.04ms 4.69 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.06±0.01ms 9.61±0.04ms 4.66 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.01±0.01ms 9.26±0.05ms 4.60 arithmetic.Ops.time_frame_comparison(True, 'default') + 2.00±0.02ms 9.05±0.04ms 4.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.04±0.02ms 9.13±0.02ms 4.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 8.83±5ms 36.3±0.1ms 4.11 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 2.41±0.02ms 9.89±0.04ms 4.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.36±0.01ms 9.65±0.04ms 4.09 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.37±0.02ms 9.67±0.06ms 4.09 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.35±0.01ms 9.59±0.05ms 4.09 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.43±0.01ms 9.93±0.08ms 4.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.35±0.01ms 9.58±0.09ms 4.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 9.60±0.05ms 4.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.37±0.01ms 9.62±0.07ms 4.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.43±0.01ms 9.72±0.06ms 4.00 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.44±0.01ms 9.71±0.05ms 3.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.38±0.01ms 9.45±0.05ms 3.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.44±0.01ms 9.71±0.03ms 3.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.38±0.01ms 9.43±0.05ms 3.96 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.39±0.01ms 9.44±0.06ms 3.96 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.38±0.01ms 9.42±0.02ms 3.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.37±0.01ms 9.07±0.05ms 3.82 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.39±0.01ms 9.12±0.1ms 3.82 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.01ms 9.01±0.09ms 3.82 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.02ms 9.02±0.06ms 3.82 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.42±0.02ms 9.22±0.04ms 3.82 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.38±0.02ms 9.07±0.1ms 3.81 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.42±0.02ms 9.21±0.04ms 3.80 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.54±0.02ms 9.66±0.08ms 3.80 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 13.7±1ms 52.2±0.3ms 3.80 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 2.37±0.01ms 9.00±0.04ms 3.80 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.38±0.01ms 9.01±0.05ms 3.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.37±0.02ms 8.97±0.06ms 3.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.37±0.01ms 8.99±0.06ms 3.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.82±0.08ms 10.6±0.09ms 3.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.43±0.01ms 9.14±0.07ms 3.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.89±0.08ms 10.8±0.06ms 3.75 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.77±0.06ms 9.90±0.06ms 3.57 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.18±0.1ms 10.7±0.2ms 3.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 3.20±0.02ms 10.1±0.05ms 3.16 arithmetic.Ops.time_frame_add(True, 'default') + 3.21±0.02ms 10.1±0.06ms 3.15 arithmetic.Ops.time_frame_mult(True, 'default') + 2.10±0.04ms 6.27±0.03ms 2.98 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('truediv') + 1.37±0.02ms 3.49±0.02ms 2.55 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('lt') + 1.36±0.02ms 3.45±0.07ms 2.53 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('gt') + 1.38±0.01ms 3.48±0.03ms 2.52 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('le') + 1.37±0.02ms 3.42±0.06ms 2.49 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('eq') + 1.37±0.01ms 3.42±0.03ms 2.49 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ne') + 1.65±0.02ms 4.06±0.07ms 2.47 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('mul') + 1.38±0.01ms 3.41±0.03ms 2.47 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ge') + 1.63±0.01ms 3.93±0.09ms 2.42 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('sub') + 1.64±0.06ms 3.92±0.05ms 2.39 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('add') + 32.9±0.2ms 78.1±0.4ms 2.37 arithmetic.Ops.time_frame_multi_and(True, 'default') + 6.08±0.07ms 13.5±0.1ms 2.21 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (100000, 100)) + 2.99±0.08ms 5.99±0.04ms 2.00 arithmetic.Ops.time_frame_comparison(True, 1) + 3.29±0.01ms 6.19±0.06ms 1.88 arithmetic.Ops.time_frame_add(True, 1) + 3.30±0.07ms 6.18±0.04ms 1.88 arithmetic.Ops.time_frame_mult(True, 1) + 10.0±0.03ms 18.5±0.09ms 1.85 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 48.0±0.6ms 83.2±0.2ms 1.74 arithmetic.Ops2.time_frame_float_floor_by_zero + 4.62±0.2ms 8.00±0.1ms 1.73 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('lt') + 4.57±0.04ms 7.88±0.1ms 1.73 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('le') + 4.67±0.03ms 7.93±0.04ms 1.70 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('gt') + 4.62±0.3ms 7.83±0.05ms 1.70 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ge') + 4.69±0.2ms 7.91±0.07ms 1.69 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('eq') + 10.1±0.05ms 17.1±0.07ms 1.69 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 4.75±0.04ms 7.82±0.03ms 1.65 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ne') + 39.3±0.8ms 64.4±0.3ms 1.64 arithmetic.Ops.time_frame_multi_and(True, 1) + 27.5±0.4ms 43.2±0.4ms 1.57 arithmetic.Ops2.time_frame_dot + 20.7±0.03ms 31.9±0.2ms 1.54 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 20.7±0.03ms 31.1±0.2ms 1.50 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 45.1±0.09ms 64.1±0.2ms 1.42 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 6.06±0.04ms 8.56±0.04ms 1.41 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 37.4±0.4ms 51.8±0.2ms 1.39 arithmetic.Ops.time_frame_multi_and(False, 1) + 37.3±0.3ms 51.5±0.2ms 1.38 arithmetic.Ops.time_frame_multi_and(False, 'default') + 41.5±0.3ms 56.9±0.6ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 41.3±0.07ms 56.1±0.2ms 1.36 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 41.3±0.08ms 55.9±0.3ms 1.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 41.9±0.09ms 56.4±0.4ms 1.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.02±0.05ms 2.38±0.01ms 1.18 arithmetic.Ops.time_frame_comparison(False, 'default') + 2.07±0.08ms 2.39±0.01ms 1.16 arithmetic.Ops.time_frame_comparison(False, 1) + 52.5±0.4ms 60.4±0.2ms 1.15 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('floordiv') + 32.0±0.3ms 36.5±0.04ms 1.14 arithmetic.Ops2.time_frame_float_mod + 18.1±0.1ms 20.0±0.05ms 1.10 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 6.02±0.06ms 6.49±0.07ms 1.08 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000000, 10)) + 33.1±0.09ms 34.8±0.04ms 1.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 32.4±0.06ms 33.9±0.1ms 1.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 27.3±0.05ms 28.5±0.08ms 1.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 27.2±0.1ms 28.4±0.03ms 1.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 27.0±0.1ms 27.8±0.05ms 1.03 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 29.2±0.09ms 30.0±0.1ms 1.03 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 27.2±0.03ms 27.9±0.09ms 1.03 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 44.6±0.05ms 45.3±0.1ms 1.02 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) - 1.40±0s 1.37±0s 0.98 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.77±0.01ms 1.73±0ms 0.98 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.43±0ms 1.40±0ms 0.98 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.58±0ms 1.54±0ms 0.98 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.38±0ms 1.34±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.02±0.01ms 987±5μs 0.97 arithmetic.NumericInferOps.time_divide() - 1.54±0ms 1.50±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.47±0ms 1.43±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.46±0.01ms 1.42±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.41±0ms 1.37±0.01ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 4.30±0.02ms 4.17±0.02ms 0.97 arithmetic.DateInferOps.time_timedelta_plus_datetime - 1.31±0ms 1.27±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.34±0.01ms 1.30±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.46±0ms 1.41±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 938±6ms 908±8ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.38±0.01ms 1.33±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.27±0ms 1.23±0ms 0.96 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 478±10μs 458±2μs 0.96 arithmetic.NumericInferOps.time_multiply() - 186±2μs 176±2μs 0.94 arithmetic.NumericInferOps.time_subtract() - 480±10μs 453±3μs 0.94 arithmetic.NumericInferOps.time_add() - 290±2μs 271±2μs 0.93 arithmetic.NumericInferOps.time_add() - 52.7±0.1ms 49.1±0.09ms 0.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) - 295±3μs 274±2μs 0.93 arithmetic.NumericInferOps.time_add() - 186±2μs 173±3μs 0.93 arithmetic.NumericInferOps.time_subtract() - 53.3±0.2ms 49.2±0.1ms 0.92 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 57.8±0.2ms 52.9±0.2ms 0.92 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 52.9±0.2ms 48.4±0.2ms 0.92 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) - 55.4±0.4ms 50.6±0.3ms 0.91 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) - 55.9±0.4ms 50.8±0.1ms 0.91 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 55.6±0.2ms 50.3±0.08ms 0.90 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) - 52.4±0.2ms 47.2±0.08ms 0.90 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 30.6±0.2ms 27.3±0.2ms 0.89 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 78.5±1ms 69.7±4ms 0.89 arithmetic.BinaryOpsMultiIndex.time_binary_op_multiindex('div') - 45.1±0.04ms 40.0±0.1ms 0.89 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) - 106±0.6ms 89.9±0.1ms 0.84 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('pow') - 59.1±0.4ms 46.3±0.4ms 0.78 arithmetic.Ops2.time_frame_float_div - 252±1μs 194±0.6μs 0.77 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 21.8±0.4ms 16.5±0.2ms 0.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 18.1±0.08ms 12.5±0.04ms 0.69 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (100000, 100)) - 57.9±0.4ms 29.4±0.3ms 0.51 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('floordiv') - 79.6±1ms 29.8±0.2ms 0.37 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('pow') - 55.9±0.1ms 5.97±0.03ms 0.11 arithmetic.Ops2.time_frame_int_div_by_zero - 55.9±0.3ms 4.85±0.02ms 0.09 arithmetic.Ops2.time_frame_float_div_by_zero ```

The above is with a branch that combines several WIP changes (https://github.com/pandas-dev/pandas/compare/master...jorisvandenbossche:ops-refactor-combined?expand=1, for some there is already an open PR, eg #40445, #40444, #40396, #39772, for others I still need to open a PR but are dependent on other changes).

In general the element-wise ops are probably that set of operations that can see the biggest impact of performing column-by-column instead of on a single block.
A few first notes:

UPDATE 2021-04-01: Using latest master + https://github.com/pandas-dev/pandas/pull/40482

$ asv continuous -f 1.01 -b arithmetic HEAD~1 HEAD ```diff before after ratio [fd958262] [89c230c8] + 6.59±0.08ms 98.1±0.9ms 14.88 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 10.7±0.1ms 128±9ms 11.96 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 472±3μs 5.63±0.6ms 11.92 arithmetic.Ops2.time_frame_series_dot + 14.8±0.4ms 148±3ms 9.99 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 45.5±0.06ms 384±6ms 8.44 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.25±0.01ms 10.5±1ms 8.41 arithmetic.Ops2.time_frame_float_div_by_zero + 13.7±0.03ms 99.9±2ms 7.27 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.93±0.02ms 12.3±0.8ms 6.41 arithmetic.Ops2.time_frame_int_div_by_zero + 1.76±0.06ms 11.0±0.2ms 6.25 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('eq') + 1.78±0.05ms 11.1±0.1ms 6.21 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('gt') + 1.77±0.06ms 10.9±0.03ms 6.18 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ne') + 1.80±0.06ms 11.0±0.1ms 6.12 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('lt') + 1.80±0.06ms 11.0±0.04ms 6.11 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ge') + 1.80±0.07ms 10.9±0.05ms 6.06 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('le') + 24.8±0.03ms 114±0.2ms 4.61 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('pow') + 2.04±0.02ms 9.31±0.09ms 4.57 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('sub') + 2.06±0.03ms 9.38±0.03ms 4.56 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('add') + 2.26±0.04ms 9.51±0.04ms 4.21 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('mul') + 3.15±0.01ms 12.8±0.08ms 4.06 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('truediv') + 21.9±7ms 82.7±2ms 3.78 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 23.4±3ms 66.4±7ms 2.84 arithmetic.Ops.time_frame_multi_and(True, 'default') + 10.7±0.09ms 29.7±2ms 2.77 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 44.6±0.3ms 116±9ms 2.59 arithmetic.Ops2.time_frame_float_floor_by_zero + 6.49±0.06ms 16.0±0.09ms 2.46 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 13.7±0.07ms 31.1±2ms 2.27 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 29.6±3ms 66.7±7ms 2.25 arithmetic.Ops.time_frame_multi_and(False, 1) + 29.9±3ms 65.8±6ms 2.20 arithmetic.Ops.time_frame_multi_and(False, 'default') + 1.98±0.03ms 4.24±0.03ms 2.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.99±0.02ms 4.24±0.03ms 2.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.97±0.03ms 4.10±0.03ms 2.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.98±0.04ms 4.08±0.02ms 2.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 32.5±3ms 66.3±6ms 2.04 arithmetic.Ops.time_frame_multi_and(True, 1) + 2.09±0.03ms 4.23±0.03ms 2.02 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.36±0.01ms 4.76±0.03ms 2.01 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.40±0.01ms 2.81±0.02ms 2.01 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.41±0.01ms 2.83±0.02ms 2.01 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.40±0.02ms 2.80±0.01ms 2.01 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.41±0.01ms 2.82±0.02ms 2.01 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.38±0.01ms 4.77±0.02ms 2.00 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.13±0.03ms 4.24±0.03ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.12±0.01ms 4.23±0.02ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.38±0.01ms 4.72±0.02ms 1.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.42±0.01ms 2.81±0.02ms 1.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.43±0.01ms 2.81±0.02ms 1.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.02ms 4.66±0.02ms 1.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.38±0.01ms 4.65±0.03ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.11±0.01ms 4.10±0.03ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.40±0.01ms 2.72±0.01ms 1.94 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.10±0.03ms 4.08±0.02ms 1.94 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.40±0.02ms 2.70±0.01ms 1.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.11±0.02ms 4.08±0.02ms 1.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.40±0.02ms 2.71±0.01ms 1.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.39±0.02ms 4.61±0.03ms 1.93 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.41±0.01ms 2.70±0.03ms 1.92 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.51±0.02ms 2.82±0.02ms 1.86 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.28±0.03ms 4.22±0.03ms 1.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.55±0.01ms 2.84±0.01ms 1.83 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.54±0.01ms 2.82±0.02ms 1.83 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 45.4±0.04ms 83.1±0.5ms 1.83 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 15.5±0.7ms 28.2±0.2ms 1.82 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 2.26±0.03ms 4.08±0.03ms 1.81 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.03±0.02ms 5.43±0.03ms 1.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.52±0.03ms 2.71±0.01ms 1.78 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.54±0.01ms 2.73±0.02ms 1.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.53±0.02ms 2.70±0.01ms 1.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.01±0.03ms 5.31±0.01ms 1.76 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 46.5±0.9ms 80.1±0.5ms 1.72 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('floordiv') + 24.0±0.06ms 41.1±0.2ms 1.71 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 24.1±0.1ms 41.0±0.2ms 1.70 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.25±0.08ms 5.48±0.02ms 1.69 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.01±0.04ms 3.39±0.02ms 1.68 arithmetic.Ops.time_frame_comparison(True, 'default') + 31.7±0.2ms 53.3±4ms 1.68 arithmetic.Ops2.time_frame_dot + 10.6±0.8ms 17.9±0.1ms 1.68 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('eq') + 10.6±0.8ms 17.8±0.3ms 1.68 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('gt') + 10.6±0.7ms 17.7±0.1ms 1.66 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ge') + 10.7±0.8ms 17.8±0.2ms 1.66 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ne') + 10.7±0.8ms 17.7±0.09ms 1.66 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('lt') + 10.7±0.9ms 17.6±0.3ms 1.65 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('le') + 1.73±0.01ms 2.84±0.01ms 1.64 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.87±0.01ms 2.98±0.02ms 1.60 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.88±0.02ms 2.99±0.02ms 1.59 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.88±0.01ms 2.97±0.02ms 1.58 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.89±0.02ms 2.99±0.01ms 1.58 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.74±0.01ms 2.72±0.01ms 1.56 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 10.6±0.07ms 16.4±0.1ms 1.54 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 1.89±0.03ms 2.89±0.03ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.89±0.03ms 2.86±0.03ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.39±0.01ms 3.60±0.02ms 1.51 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.19±0.03ms 3.31±0.02ms 1.51 arithmetic.Ops.time_frame_comparison(False, 'default') + 2.21±0.05ms 3.30±0.01ms 1.49 arithmetic.Ops.time_frame_comparison(False, 1) + 3.61±0.07ms 5.37±0.02ms 1.48 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.45±0.02ms 3.60±0.03ms 1.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.98±0.03ms 2.89±0.02ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.35±0.01ms 3.42±0.03ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.44±0.02ms 3.55±0.03ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.94±0.01ms 2.79±0.02ms 1.44 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.95±0.03ms 2.79±0.02ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.02±0.02ms 2.89±0.03ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.40±0.01ms 3.43±0.01ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.40±0.01ms 3.42±0.02ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.39±0.01ms 3.40±0.03ms 1.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.39±0.01ms 3.41±0.03ms 1.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.36±0.02ms 1.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.40±0.01ms 3.40±0.02ms 1.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.42±0.02ms 3.44±0.02ms 1.42 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.00±0.03ms 4.25±0.4ms 1.42 arithmetic.Ops.time_frame_mult(False, 'default') + 2.37±0.01ms 3.35±0.02ms 1.41 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.39±0.01ms 3.37±0.02ms 1.41 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 10.6±0.1ms 14.9±0.08ms 1.41 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) + 2.37±0.02ms 3.34±0.05ms 1.41 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.37±0.02ms 3.33±0.01ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 45.4±0.06ms 63.7±4ms 1.40 arithmetic.Ops2.time_frame_float_div + 2.38±0.02ms 3.31±0.02ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.03ms 3.28±0.02ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.11±0.01ms 2.92±0.03ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.26±0.02ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.09±0.02ms 2.88±0.02ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.25±0.03ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.38±0.01ms 3.28±0.02ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.03±0.03ms 2.80±0.03ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.02±0.02ms 2.79±0.02ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 11.1±1ms 15.2±0.1ms 1.38 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('truediv') + 10.9±1ms 14.9±0.2ms 1.37 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('mul') + 2.37±0.02ms 3.23±0.03ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 3.02±0.04ms 4.12±0.3ms 1.37 arithmetic.Ops.time_frame_mult(False, 1) + 10.9±1ms 14.8±0.2ms 1.36 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('add') + 2.13±0.03ms 2.89±0.02ms 1.36 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 10.9±1ms 14.8±0.3ms 1.35 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('sub') + 2.06±0.02ms 2.77±0.02ms 1.35 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 48.4±0.06ms 65.0±0.05ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 48.4±0.05ms 65.1±0.03ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 48.4±0.09ms 64.9±0.05ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.20±0.02ms 2.89±0.02ms 1.31 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.72±0.04ms 3.52±0.02ms 1.29 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 3.05±0.06ms 3.94±0.01ms 1.29 arithmetic.Ops.time_frame_add(False, 1) + 38.9±0.1ms 49.9±3ms 1.28 arithmetic.Ops2.time_frame_float_mod + 2.19±0.02ms 2.79±0.02ms 1.27 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 34.2±0.2ms 42.4±3ms 1.24 arithmetic.Ops2.time_frame_int_mod + 35.6±0.8ms 41.4±0.3ms 1.16 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('pow') + 45.4±0.02ms 49.4±0.4ms 1.09 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 40.1±0.02ms 42.7±0.07ms 1.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 32.9±0.03ms 34.8±0.04ms 1.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 39.2±0.01ms 41.5±0.1ms 1.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 32.8±0.05ms 34.5±0.04ms 1.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 32.6±0.03ms 34.2±0.03ms 1.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 32.6±0.02ms 34.1±0.04ms 1.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 32.8±0.01ms 34.2±0.03ms 1.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 39.9±1ms 41.3±0.4ms 1.03 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('floordiv') - 3.08±0.01ms 3.03±0ms 0.99 arithmetic.IndexArithmetic.time_divide('int') - 2.31±0.01ms 2.27±0.01ms 0.98 arithmetic.IndexArithmetic.time_subtract('int') - 2.32±0.01ms 2.26±0.01ms 0.98 arithmetic.IndexArithmetic.time_add('int') - 1.17±0.01ms 1.14±0ms 0.98 arithmetic.NumericInferOps.time_divide() - 1.63±0.1ms 1.57±0ms 0.97 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 308±2μs 294±2μs 0.95 arithmetic.NumericInferOps.time_add() - 14.9±0.6ms 14.2±0.01ms 0.95 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000000, 10)) - 308±2μs 292±1μs 0.95 arithmetic.NumericInferOps.time_multiply() - 310±2μs 294±3μs 0.95 arithmetic.NumericInferOps.time_subtract() - 510±20μs 483±2μs 0.95 arithmetic.NumericInferOps.time_divide() - 510±10μs 484±3μs 0.95 arithmetic.NumericInferOps.time_add() - 509±10μs 483±3μs 0.95 arithmetic.NumericInferOps.time_add() - 308±3μs 292±3μs 0.95 arithmetic.NumericInferOps.time_subtract() - 4.15±0.07ms 3.92±0.01ms 0.95 arithmetic.NumericInferOps.time_modulo() - 199±2μs 188±1μs 0.95 arithmetic.NumericInferOps.time_subtract() - 203±2μs 191±1μs 0.94 arithmetic.NumericInferOps.time_add() - 251±1μs 236±0.9μs 0.94 arithmetic.OffsetArrayArithmetic.time_add_series_offset() - 1.27±0.1ms 1.19±0ms 0.94 arithmetic.NumericInferOps.time_divide() - 213±2μs 199±1μs 0.93 arithmetic.NumericInferOps.time_multiply() - 202±3μs 188±0.6μs 0.93 arithmetic.NumericInferOps.time_subtract() - 513±20μs 474±2μs 0.92 arithmetic.NumericInferOps.time_subtract() - 529±20μs 487±2μs 0.92 arithmetic.NumericInferOps.time_multiply() - 523±20μs 477±4μs 0.91 arithmetic.NumericInferOps.time_subtract() - 6.97±0.4ms 5.82±0.03ms 0.84 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000000, 10)) - 68.3±0.1ms 46.8±0.1ms 0.69 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 62.7±0.1ms 42.6±0.02ms 0.68 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 65.4±0.2ms 44.1±0.07ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 65.6±0.2ms 44.2±0.1ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) - 65.3±0.2ms 44.0±0.07ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) - 61.7±0.1ms 41.3±0.1ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 62.1±0.07ms 41.5±0.03ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) - 62.1±0.04ms 41.4±0.04ms 0.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) - 35.3±0.1ms 14.1±0.03ms 0.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) - 24.4±0.1ms 3.35±0.02ms 0.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) - 48.8±0.05ms 3.27±0.02ms 0.07 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) ```

Two notes about a few benchmarks that are (unexpectedly) a lot faster with ArrayManager:

jorisvandenbossche commented 2 years ago

Over the last weeks I have been updating the status of this project (and fixing some regressions), and rerunning the benchmarks. This (long) post gives an overview of the current ASV benchmarks with the ArrayManager.

Technical notes: I always ran the benchmark on a commit where I changed the default to ArrayManager (HEAD) vs the previous commit with the normal default of BlockManager (HEAD~1) -> asv continuous -f 1.0 HEAD~1 HEAD. So using the diff formatting to get some color: green is slower and red is faster for the ArrayManager.
The "am-benchmarks" branch I am using is master (of yesterday morning) + a few open close-to-mergeable (all-green) ArrayManager related PRs (#41104 (fillna) , #44736 (interpolate), #44791 (eval)) + the commit to change the default.

I am going to split the results here by topic / file (each time with a small discussion, repeating some stuff from above), but the results of the full run are also included at the bottom.


ToNumpy

$ asv continuous -f 1.01 -b ToNumpy HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 3.18±0.04μs 11.5±0.1ms 3632.89 frame_methods.ToNumpy.time_values_wide + 3.59±0.07μs 11.5±0.07ms 3193.82 frame_methods.ToNumpy.time_to_numpy_wide + 3.18±0.04μs 263±1μs 82.80 frame_methods.ToNumpy.time_values_tall + 3.64±0.07μs 265±0.6μs 72.79 frame_methods.ToNumpy.time_to_numpy_tall + 3.70±0.2ms 20.0±0.2ms 5.40 frame_methods.ToNumpy.time_to_numpy_mixed_wide + 3.74±0.3ms 19.9±0.2ms 5.33 frame_methods.ToNumpy.time_values_mixed_wide ```

reshape

$ asv continuous -f 1.01 -b reshape HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 210±1μs 80.0±0.6ms 381.47 reshape.ReshapeExtensionDtype.time_transpose('datetime64[ns, US/Pacific]') + 44.5±0.09ms 184±0.5ms 4.14 reshape.Unstack.time_full_product('int') + 1.79±0.03ms 7.32±0.03ms 4.09 reshape.ReshapeExtensionDtype.time_unstack_fast('datetime64[ns, US/Pacific]') + 3.59±0.03ms 11.2±0.04ms 3.10 reshape.SimpleReshape.time_stack + 97.8±2ms 216±0.4ms 2.21 reshape.Unstack.time_without_last_row('int') + 5.82±0.07ms 9.65±0.04ms 1.66 reshape.ReshapeExtensionDtype.time_stack('datetime64[ns, US/Pacific]') + 40.2±0.4ms 51.2±0.3ms 1.27 reshape.ReshapeExtensionDtype.time_transpose('Period[s]') + 1.98±0.02ms 2.44±0.02ms 1.23 reshape.SimpleReshape.time_unstack + 80.5±0.8ms 88.7±0.7ms 1.10 reshape.PivotTable.time_pivot_table_margins - 281±1ms 275±0.9ms 0.98 reshape.WideToLong.time_wide_to_long_big - 21.0±0.1ms 19.0±0.06ms 0.91 reshape.Crosstab.time_crosstab - 2.58±0.02ms 2.34±0.03ms 0.90 reshape.ReshapeExtensionDtype.time_unstack_slow('Period[s]') - 24.5±0.3ms 20.9±0.1ms 0.86 reshape.Unstack.time_full_product('category') - 2.86±0.01ms 2.20±0.02ms 0.77 reshape.Melt.time_melt_dataframe - 111±2ms 23.4±0.06ms 0.21 reshape.Unstack.time_without_last_row('category') ```

reindex

$ asv continuous -f 1.01 -b reindex HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 41.1±0.09ms 99.5±0.4ms 2.42 frame_methods.Reindex.time_reindex_axis1_missing + 3.52±0.07ms 6.93±0.02ms 1.97 frame_methods.Reindex.time_reindex_axis0 + 6.49±0.2ms 9.98±0.03ms 1.54 frame_methods.Reindex.time_reindex_upcast + 734±40μs 1.03±0.09ms 1.40 reindex.LevelAlign.time_align_level + 742±30μs 1.00±0.09ms 1.35 reindex.LevelAlign.time_reindex_level + 1.20±0ms 1.60±0.01ms 1.34 reindex.ReindexMethod.time_reindex_method('pad', ) + 1.28±0.02ms 1.69±0.02ms 1.33 reindex.ReindexMethod.time_reindex_method('pad', ) + 1.36±0.02ms 1.71±0.01ms 1.25 reindex.ReindexMethod.time_reindex_method('backfill', ) + 1.32±0.02ms 1.61±0.03ms 1.23 reindex.ReindexMethod.time_reindex_method('backfill', ) + 7.66±0.2ms 9.10±0.02ms 1.19 frame_methods.Reindex.time_reindex_both_axes - 516±4μs 259±0.8μs 0.50 reindex.Reindex.time_reindex_columns - 30.4±0.06ms 13.3±0.1ms 0.44 frame_methods.Reindex.time_reindex_axis1 ```

other frame_methods (leaving out ToNumpy and reindex from above)

$ asv continuous -f 1.01 -b frame_methods HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 508±4μs 99.7±0.5ms 196.07 frame_methods.Quantile.time_frame_quantile(1) + 48.7±0.3μs 3.34±0.2ms 68.49 frame_methods.XS.time_frame_xs(0) + 58.5±0.3μs 1.38±0.01ms 23.52 frame_methods.Dtypes.time_frame_dtypes + 6.93±0.04ms 124±0.9ms 17.81 frame_methods.MaskBool.time_frame_mask_floats + 977±5μs 14.3±0.04ms 14.64 frame_methods.GetDtypeCounts.time_frame_get_dtype_counts + 662±8μs 5.31±0.06ms 8.03 frame_methods.Isnull.time_isnull_floats_no_null + 664±6μs 5.28±0.05ms 7.96 frame_methods.Isnull.time_isnull + 34.3±1ms 202±2ms 5.90 frame_methods.MaskBool.time_frame_mask_bools + 21.5±0.2ms 97.3±0.5ms 4.52 frame_methods.Dropna.time_dropna('any', 1) + 2.39±0.1ms 10.4±0.2ms 4.36 frame_methods.Equals.time_frame_float_equal + 25.8±0.05ms 98.1±0.7ms 3.81 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('any', 1) + 1.85±0.01ms 6.05±0.3ms 3.26 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'datetime64[ns]') + 57.2±0.4ms 184±2ms 3.22 frame_methods.Count.time_count_level_multi(1) + 1.85±0.01ms 5.76±0.3ms 3.12 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'timedelta64[ns]') + 61.6±0.4ms 188±0.6ms 3.06 frame_methods.Count.time_count_level_multi(0) + 9.34±0.05ms 25.4±0.3ms 2.72 frame_methods.Shift.time_shift(0) + 72.6±0.5ms 196±10ms 2.70 frame_methods.Count.time_count_level_mixed_dtypes_multi(0) + 43.0±0.2ms 114±0.5ms 2.65 frame_methods.Iteration.time_iteritems_indexing + 3.79±0.1ms 9.77±0.2ms 2.58 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'timedelta64[ns]') + 42.8±0.4ms 110±0.7ms 2.58 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('all', 1) + 25.3±0.4ms 65.3±0.3ms 2.58 frame_methods.Dropna.time_dropna('any', 0) + 3.78±0.1ms 9.67±0.01ms 2.56 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'datetime64[ns]') + 3.75±0.1ms 9.19±0.2ms 2.45 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'timedelta64[ns]') + 45.0±0.3ms 110±0.6ms 2.44 frame_methods.Dropna.time_dropna('all', 1) + 3.75±0.1ms 9.06±0.05ms 2.42 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'datetime64[ns]') + 28.5±0.4ms 67.5±0.2ms 2.36 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('any', 0) + 85.0±0.3ms 195±10ms 2.29 frame_methods.Count.time_count_level_mixed_dtypes_multi(1) + 3.06±0.2ms 6.94±0.06ms 2.27 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'timedelta64[ns]') + 3.08±0.2ms 6.94±0.1ms 2.25 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'datetime64[ns]') + 12.0±0.1ms 24.8±0.7ms 2.07 frame_methods.Iteration.time_items + 41.5±0.5ms 81.9±0.4ms 1.97 frame_methods.Dropna.time_dropna('all', 0) + 516±3μs 1.00±0.03ms 1.94 frame_methods.Iteration.time_itertuples_start + 365±1μs 686±20μs 1.88 frame_methods.Iteration.time_itertuples_raw_start + 366±2μs 686±10μs 1.87 frame_methods.Iteration.time_itertuples_raw_read_first + 523±4μs 976±30μs 1.86 frame_methods.Iteration.time_itertuples_read_first + 51.8±0.2ms 85.9±0.5ms 1.66 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('all', 0) + 727±9μs 1.19±0.04ms 1.64 frame_methods.Iteration.time_items_cached + 3.25±0.02μs 5.28±0.5μs 1.62 frame_methods.XS.time_frame_xs(1) + 353±6μs 572±5μs 1.62 frame_methods.Quantile.time_frame_quantile(0) + 7.73±0.6ms 11.1±0.1ms 1.44 frame_methods.Equals.time_frame_float_unequal + 49.3±3ms 68.6±0.6ms 1.39 frame_methods.Equals.time_frame_object_unequal + 32.0±0.3μs 44.1±0.4μs 1.38 frame_methods.GetNumericData.time_frame_get_numeric_data + 69.6±0.2ms 92.9±0.4ms 1.34 frame_methods.Repr.time_frame_repr_wide + 37.0±0.05ms 48.7±0.3ms 1.32 frame_methods.Equals.time_frame_nonunique_equal + 37.2±0.05ms 49.0±0.1ms 1.32 frame_methods.Equals.time_frame_nonunique_unequal + 4.74±0.05ms 6.09±0.03ms 1.29 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'float32') + 5.37±0.06ms 6.81±0.04ms 1.27 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'float64') + 208±1ms 262±2ms 1.26 frame_methods.GetDtypeCounts.time_info + 248±3ms 311±1ms 1.25 frame_methods.Iteration.time_iterrows + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw_read_first + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw_start + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_start + 43.2±0.2ms 51.0±0.2ms 1.18 frame_methods.Isnull.time_isnull_obj + 4.68±0.03ms 5.49±0.02ms 1.17 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'float32') + 4.80±0.02μs 5.50±0.08μs 1.15 frame_methods.ToDict.time_to_dict_ints('series') + 1.70±0.01ms 1.93±0.04ms 1.14 frame_methods.Interpolate.time_interpolate_some_good(None) + 4.82±0.02μs 5.47±0.03μs 1.14 frame_methods.ToDict.time_to_dict_datetimelike('series') + 3.91±0.04ms 4.44±0.05ms 1.13 frame_methods.Rank.time_rank('uint') + 3.93±0.03ms 4.43±0.03ms 1.13 frame_methods.Rank.time_rank('int') + 4.27±0.02ms 4.78±0.04ms 1.12 frame_methods.Lookup.time_frame_fancy_lookup + 17.1±0.2ms 19.0±0.09ms 1.11 frame_methods.ToDict.time_to_dict_ints('index') + 157±2ms 172±6ms 1.09 frame_methods.ToDict.time_to_dict_datetimelike('list') + 167±2ms 181±7ms 1.09 frame_methods.ToDict.time_to_dict_datetimelike('index') + 173±1ms 188±7ms 1.08 frame_methods.ToDict.time_to_dict_datetimelike('split') + 3.69±0.02ms 3.93±0.04ms 1.07 frame_methods.Interpolate.time_interpolate_some_good('infer') + 89.6±0.8ms 95.1±0.2ms 1.06 frame_methods.Interpolate.time_interpolate(None) + 10.5±0.05ms 10.9±0.02ms 1.04 frame_methods.Rank.time_rank('float') + 6.49±0.03ms 6.72±0.1ms 1.03 frame_methods.Repr.time_html_repr_trunc_mi + 731±0.6ms 743±1ms 1.02 frame_methods.Iteration.time_itertuples_raw_tuples + 56.2±0.2ms 56.9±0.3ms 1.01 frame_methods.ToHTML.time_to_html_mixed - 107±0.3ms 103±0.6ms 0.96 frame_methods.Apply.time_apply_axis_1 - 4.73±0.09ms 4.13±0.07ms 0.87 frame_methods.Apply.time_apply_pass_thru - 460±1μs 371±0.9μs 0.81 frame_methods.Shift.time_shift(1) - 5.95±0.05ms 4.70±0.03ms 0.79 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'Float64') - 7.40±0.05ms 5.84±0.03ms 0.79 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'float64') - 6.52±0.04ms 5.10±0.04ms 0.78 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'Int64') - 5.90±0.03ms 4.59±0.02ms 0.78 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'Int64') - 6.64±0.03ms 5.14±0.04ms 0.77 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'Float64') - 5.99±0.07ms 4.60±0.05ms 0.77 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'Float64') - 6.00±0.04ms 4.60±0.06ms 0.77 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'Int64') - 9.56±0.08ms 7.24±0.04ms 0.76 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'datetime64[ns, tz]') - 7.22±0.08ms 5.46±0.03ms 0.76 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'float32') - 5.84±0.2ms 4.38±0.3ms 0.75 frame_methods.NSort.time_nlargest_one_column('all') - 5.18±0.2ms 3.87±0.2ms 0.75 frame_methods.NSort.time_nlargest_one_column('last') - 5.88±0.2ms 4.36±0.3ms 0.74 frame_methods.NSort.time_nlargest_one_column('first') - 8.19±0.05ms 5.92±0.1ms 0.72 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'datetime64[ns, tz]') - 7.87±0.08ms 5.68±0.04ms 0.72 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'datetime64[ns, tz]') - 7.42±0.1ms 5.26±0.01ms 0.71 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'float64') - 7.14±0.08ms 4.79±0.02ms 0.67 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'float32') - 4.58±0.01ms 3.04±0.02ms 0.66 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'Float64') - 4.59±0.01ms 3.04±0.02ms 0.66 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'Int64') - 632±5ms 401±1ms 0.64 frame_methods.Nunique.time_frame_nunique - 309±3ms 180±2ms 0.58 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'object') - 314±2ms 180±1ms 0.57 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'object') - 525±4ms 238±2ms 0.45 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'object') - 526±8ms 226±1ms 0.43 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'object') - 51.1±0.2ms 20.2±0.05ms 0.40 frame_methods.Rename.time_rename_both_axes - 51.1±0.1ms 20.1±0.2ms 0.39 frame_methods.Rename.time_dict_rename_both_axes - 49.3±0.1ms 18.3±0.07ms 0.37 frame_methods.Rename.time_rename_axis0 - 47.1±0.3ms 16.4±0.2ms 0.35 frame_methods.Rename.time_rename_single - 44.8±0.2ms 14.2±0.05ms 0.32 frame_methods.Rename.time_rename_axis1 ```

join_merge

$ asv continuous -f 1.01 -b join_merge HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 35.9±3ms 81.5±1ms 2.27 join_merge.ConcatDataFrames.time_c_ordered(0, True) + 36.3±3ms 82.1±2ms 2.26 join_merge.ConcatDataFrames.time_c_ordered(0, False) + 40.7±6ms 80.5±2ms 1.98 join_merge.ConcatDataFrames.time_f_ordered(0, True) + 41.8±5ms 81.3±1ms 1.95 join_merge.ConcatDataFrames.time_f_ordered(0, False) + 50.6±0.6ms 88.6±2ms 1.75 join_merge.ConcatDataFrames.time_f_ordered(1, False) + 51.0±4ms 87.6±2ms 1.72 join_merge.ConcatDataFrames.time_f_ordered(1, True) + 253±0.7ms 404±0.6ms 1.60 join_merge.Merge.time_merge_dataframes_cross(True) + 254±2ms 403±0.5ms 1.59 join_merge.Merge.time_merge_dataframes_cross(False) + 8.17±0.04ms 12.5±0.03ms 1.53 join_merge.Concat.time_concat_small_frames(1) + 399±3ms 587±0.9ms 1.47 join_merge.MergeCategoricals.time_merge_object + 9.07±0.4ms 12.1±0.3ms 1.33 join_merge.Join.time_join_dataframe_index_single_key_small(True) + 11.3±0.2ms 14.9±0.2ms 1.32 join_merge.Join.time_join_dataframe_index_single_key_bigger(True) + 11.3±0.2ms 14.8±0.4ms 1.32 join_merge.Join.time_join_dataframe_index_shuffle_key_bigger_sort(True) + 9.33±0.03ms 11.2±0.1ms 1.20 join_merge.Concat.time_concat_small_frames(0) + 36.5±0.6ms 40.0±0.5ms 1.09 join_merge.Merge.time_merge_2intkey(True) - 253±0.4μs 244±2μs 0.97 join_merge.Concat.time_concat_empty_right(0) - 218±1μs 209±1μs 0.96 join_merge.Concat.time_concat_empty_right(1) - 252±1μs 242±2μs 0.96 join_merge.Concat.time_concat_empty_left(0) - 3.19±0.02ms 3.04±0.03ms 0.95 join_merge.Join.time_join_dataframes_cross(False) - 208±0.6ms 198±0.6ms 0.95 join_merge.MergeCategoricals.time_merge_cat - 19.9±0.06ms 18.7±0.05ms 0.94 join_merge.MergeAsof.time_on_int32('nearest', 5) - 19.2±0.05ms 18.0±0.05ms 0.94 join_merge.MergeAsof.time_on_int('nearest', 5) - 18.0±0.03ms 16.9±0.06ms 0.94 join_merge.MergeAsof.time_on_uint64('nearest', 5) - 19.2±0.09ms 17.9±0.03ms 0.94 join_merge.MergeAsof.time_on_int32('nearest', None) - 18.7±0.09ms 17.5±0.05ms 0.94 join_merge.MergeAsof.time_on_int('nearest', None) - 17.3±0.09ms 16.2±0.08ms 0.93 join_merge.MergeAsof.time_on_uint64('nearest', None) - 15.3±0.08ms 14.2±0.03ms 0.93 join_merge.MergeAsof.time_on_int('forward', 5) - 72.7±0.2ms 67.2±0.3ms 0.92 join_merge.MergeOrdered.time_merge_ordered - 15.2±0.01ms 14.0±0.08ms 0.92 join_merge.MergeAsof.time_on_int('forward', None) - 16.4±0.1ms 15.1±0.09ms 0.92 join_merge.MergeAsof.time_on_int32('forward', 5) - 14.5±0.05ms 13.3±0.08ms 0.91 join_merge.MergeAsof.time_on_uint64('forward', 5) - 13.7±0.04ms 12.5±0.06ms 0.91 join_merge.MergeAsof.time_on_int('backward', 5) - 15.7±0.07ms 14.3±0.05ms 0.91 join_merge.MergeAsof.time_on_int32('backward', 5) - 13.5±0.02ms 12.3±0.09ms 0.91 join_merge.MergeAsof.time_on_int('backward', None) - 14.2±0.04ms 12.9±0.09ms 0.91 join_merge.MergeAsof.time_on_uint64('forward', None) - 15.3±0.09ms 13.9±0.03ms 0.91 join_merge.MergeAsof.time_on_int32('backward', None) - 2.14±0.01ms 1.94±0.01ms 0.91 join_merge.Merge.time_merge_dataframe_integer_key(True) - 13.5±0.05ms 12.2±0.03ms 0.91 join_merge.MergeAsof.time_on_uint64('backward', 5) - 13.2±0.05ms 11.9±0.05ms 0.90 join_merge.MergeAsof.time_on_uint64('backward', None) - 594±4μs 526±5μs 0.89 join_merge.Append.time_append_mixed - 1.82±0.02ms 1.61±0ms 0.88 join_merge.Merge.time_merge_dataframe_integer_key(False) - 86.5±0.5ms 71.2±0.3ms 0.82 join_merge.Concat.time_concat_series(1) - 818±2ms 672±10ms 0.82 join_merge.I8Merge.time_i8merge('inner') - 929±8ms 761±4ms 0.82 join_merge.I8Merge.time_i8merge('right') - 819±1ms 671±8ms 0.82 join_merge.I8Merge.time_i8merge('outer') - 854±9ms 684±8ms 0.80 join_merge.I8Merge.time_i8merge('left') ```

groupby

$ asv continuous -f 1.01 -b groupby HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 4.01±0.06ms 54.9±0.5ms 13.71 groupby.GroupManyLabels.time_sum(1000) + 112±0.7μs 382±2μs 3.41 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumsum', 'direct', 5) + 113±0.5μs 384±3μs 3.39 groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'direct', 5) + 115±0.5μs 387±2μs 3.37 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'direct', 5) + 344±4μs 1.01±0.02ms 2.93 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumprod', 'direct', 5) + 349±3μs 1.02±0.01ms 2.91 groupby.GroupByMethods.time_dtype_as_group('int', 'cumprod', 'direct', 5) + 351±3μs 1.02±0.01ms 2.90 groupby.GroupByMethods.time_dtype_as_group('float', 'cumprod', 'direct', 5) + 127±1μs 354±0.9μs 2.79 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummax', 'direct', 5) + 126±0.6μs 350±0.9μs 2.78 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummin', 'direct', 5) + 120±1μs 333±1μs 2.77 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'direct', 5) + 129±0.8μs 356±1μs 2.75 groupby.GroupByMethods.time_dtype_as_group('int', 'cummax', 'direct', 5) + 119±0.3μs 325±1μs 2.72 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'direct', 5) + 129±0.7μs 349±0.8μs 2.71 groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'direct', 5) + 121±2μs 326±0.7μs 2.70 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'direct', 5) + 236±2μs 628±9μs 2.66 groupby.GroupByMethods.time_dtype_as_group('uint', 'var', 'direct', 5) + 240±2μs 627±4μs 2.61 groupby.GroupByMethods.time_dtype_as_group('uint', 'mean', 'direct', 5) + 240±1μs 623±2μs 2.60 groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'direct', 5) + 244±1μs 627±3μs 2.58 groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'direct', 5) + 240±2μs 608±5μs 2.54 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'direct', 5) + 263±2μs 660±3μs 2.51 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'direct', 5) + 113±0.8μs 275±3μs 2.42 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'direct', 5) + 112±0.9μs 270±2μs 2.40 groupby.GroupByMethods.time_dtype_as_group('uint', 'any', 'direct', 5) + 108±0.4μs 258±0.4μs 2.39 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'direct', 5) + 114±0.8μs 269±2μs 2.37 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'direct', 5) + 114±0.3μs 267±0.6μs 2.35 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'direct', 5) + 115±0.7μs 269±1μs 2.34 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'direct', 5) + 182±0.9μs 426±3μs 2.34 groupby.GroupByMethods.time_dtype_as_group('uint', 'std', 'direct', 5) + 116±1μs 271±2μs 2.34 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'direct', 5) + 115±2μs 267±2μs 2.33 groupby.GroupByMethods.time_dtype_as_group('uint', 'all', 'direct', 5) + 111±1μs 257±2μs 2.33 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'direct', 5) + 316±1μs 731±4μs 2.31 groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'direct', 5) + 116±1μs 268±0.9μs 2.30 groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'direct', 5) + 186±2μs 426±3μs 2.28 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'direct', 5) + 185±0.8μs 412±4μs 2.23 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'direct', 5) + 355±1μs 789±9μs 2.23 groupby.GroupByMethods.time_dtype_as_group('uint', 'median', 'direct', 5) + 359±2μs 785±5μs 2.19 groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'direct', 5) + 747±7μs 1.56±0.01ms 2.09 groupby.GroupByMethods.time_dtype_as_group('uint', 'prod', 'direct', 5) + 746±8μs 1.55±0.01ms 2.08 groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'direct', 5) + 799±4μs 1.64±0.02ms 2.06 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'direct', 5) + 766±4μs 1.57±0.02ms 2.05 groupby.GroupByMethods.time_dtype_as_group('uint', 'sum', 'direct', 5) + 773±4μs 1.58±0.01ms 2.04 groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'direct', 5) + 33.3±0.6ms 67.4±0.9ms 2.02 groupby.GroupByCythonAgg.time_frame_agg('float64', 'prod') + 825±5μs 1.64±0.02ms 1.99 groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'direct', 5) + 13.4±3ms 24.8±0.08ms 1.84 groupby.Cumulative.time_frame_transform('int64', 'cumsum') + 36.4±0.6ms 67.1±0.8ms 1.84 groupby.GroupByCythonAgg.time_frame_agg('float64', 'first') + 45.2±0.6ms 82.2±1ms 1.82 groupby.GroupByCythonAgg.time_frame_agg('float64', 'sum') + 44.9±0.7ms 81.5±0.8ms 1.82 groupby.GroupByCythonAgg.time_frame_agg('float64', 'mean') + 44.4±0.7ms 79.1±2ms 1.78 groupby.GroupByCythonAgg.time_frame_agg('float64', 'var') + 524±2μs 918±3μs 1.75 groupby.GroupByMethods.time_dtype_as_group('uint', 'min', 'direct', 5) + 537±1μs 940±20μs 1.75 groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'direct', 5) + 518±3μs 904±30μs 1.74 groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'direct', 5) + 116±0.4μs 203±1μs 1.74 groupby.GroupByMethods.time_dtype_as_group('int', 'count', 'direct', 5) + 456±2μs 792±6μs 1.74 groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'direct', 5) + 515±9μs 891±70μs 1.73 groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'direct', 5) + 534±2μs 921±20μs 1.72 groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'direct', 5) + 532±1μs 915±4μs 1.72 groupby.GroupByMethods.time_dtype_as_group('uint', 'max', 'direct', 5) + 523±0.9μs 900±4μs 1.72 groupby.GroupByMethods.time_dtype_as_group('int', 'first', 'direct', 5) + 537±2μs 924±7μs 1.72 groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'direct', 5) + 526±9μs 900±8μs 1.71 groupby.GroupByMethods.time_dtype_as_group('uint', 'first', 'direct', 5) + 544±3μs 931±6μs 1.71 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'direct', 5) + 538±0.8μs 915±4μs 1.70 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'direct', 5) + 457±2μs 777±5μs 1.70 groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'direct', 5) + 539±4μs 915±7μs 1.70 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'direct', 5) + 86.8±1ms 147±1ms 1.70 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'direct', 5) + 516±2μs 874±7μs 1.69 groupby.GroupByMethods.time_dtype_as_group('uint', 'last', 'direct', 5) + 533±2μs 897±9μs 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'direct', 5) + 56.8±0.3ms 95.7±0.5ms 1.68 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'direct', 5) + 88.2±1ms 148±1ms 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'transformation', 5) + 536±4μs 901±5μs 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'direct', 5) + 56.6±0.3ms 95.0±1ms 1.68 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'direct', 5) + 519±4μs 866±9μs 1.67 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'direct', 5) + 58.1±0.5ms 96.7±0.4ms 1.67 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'transformation', 5) + 58.0±0.3ms 96.6±0.3ms 1.66 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'transformation', 5) + 50.1±2ms 81.9±1ms 1.64 groupby.GroupByCythonAgg.time_frame_agg('float64', 'any') + 51.0±2ms 81.9±1ms 1.61 groupby.GroupByCythonAgg.time_frame_agg('float64', 'all') + 40.4±0.5ms 64.5±0.7ms 1.60 groupby.GroupByCythonAgg.time_frame_agg('float64', 'last') + 132±1μs 207±1μs 1.56 groupby.GroupByMethods.time_dtype_as_group('datetime', 'count', 'direct', 5) + 131±0.6μs 203±2μs 1.56 groupby.GroupByMethods.time_dtype_as_group('uint', 'count', 'direct', 5) + 136±1μs 209±1μs 1.54 groupby.GroupByMethods.time_dtype_as_group('float', 'count', 'direct', 5) + 128±0.6μs 197±0.9μs 1.53 groupby.GroupByMethods.time_dtype_as_group('object', 'count', 'direct', 5) + 47.3±0.7ms 71.0±0.6ms 1.50 groupby.GroupByCythonAgg.time_frame_agg('float64', 'min') + 47.5±0.7ms 71.1±1ms 1.50 groupby.GroupByCythonAgg.time_frame_agg('float64', 'max') + 15.9±3ms 22.9±0.05ms 1.44 groupby.Cumulative.time_frame_transform('int64', 'cummin') + 14.2±2ms 20.6±0.04ms 1.44 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cumsum') + 14.4±0.9ms 20.6±0.1ms 1.43 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cumsum') + 16.0±2ms 22.8±0.06ms 1.43 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cummin') + 16.1±0.9ms 22.9±0.3ms 1.42 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cummin') + 176±2ms 250±1ms 1.42 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'direct', 5) + 17.4±0.9ms 24.7±0.1ms 1.42 groupby.Cumulative.time_frame_transform('float64', 'cummin') + 16.8±3ms 23.8±0.08ms 1.42 groupby.Cumulative.time_frame_transform('int64', 'cummax') + 177±2ms 251±2ms 1.41 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'transformation', 5) + 114±1ms 161±0.8ms 1.41 groupby.GroupByMethods.time_dtype_as_group('uint', 'mad', 'direct', 5) + 16.3±3ms 22.9±0.04ms 1.40 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cummax') + 116±1ms 162±0.9ms 1.40 groupby.GroupByMethods.time_dtype_as_group('uint', 'mad', 'transformation', 5) + 114±1ms 160±1ms 1.40 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'direct', 5) + 116±1ms 163±0.7ms 1.40 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'transformation', 5) + 16.6±0.9ms 23.0±0.04ms 1.39 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cummax') + 15.9±0.8ms 21.9±0.06ms 1.38 groupby.Cumulative.time_frame_transform('float64', 'cumsum') + 18.8±0.7ms 25.2±0.07ms 1.34 groupby.Cumulative.time_frame_transform('float64', 'cummax') + 848±9ms 1.13±0.03s 1.33 groupby.String.time_str_func('string[python]', 'any') + 848±10ms 1.13±0.03s 1.33 groupby.String.time_str_func('string[python]', 'all') + 1.83±0.01ms 2.38±0.02ms 1.30 groupby.GroupByMethods.time_dtype_as_group('float', 'cumprod', 'transformation', 5) + 1.74±0.01ms 2.27±0.01ms 1.30 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumprod', 'transformation', 5) + 2.31±0.02ms 2.99±0.03ms 1.29 groupby.GroupByMethods.time_dtype_as_group('uint', 'sum', 'transformation', 5) + 1.77±0.01ms 2.28±0.01ms 1.29 groupby.GroupByMethods.time_dtype_as_group('int', 'cumprod', 'transformation', 5) + 2.29±0.02ms 2.95±0.03ms 1.28 groupby.GroupByMethods.time_dtype_as_group('uint', 'prod', 'transformation', 5) + 1.01±0.01s 1.29±0.03s 1.28 groupby.String.time_str_func('string[python]', 'first') + 1.02±0.01s 1.31±0.02s 1.28 groupby.String.time_str_func('string[python]', 'last') + 606±2μs 775±7μs 1.28 groupby.Datelike.time_sum('date_range') + 22.2±0.2ms 28.4±0.1ms 1.28 groupby.Cumulative.time_frame_transform('Int64', 'cummax') + 22.0±0.05ms 28.1±0.09ms 1.28 groupby.Cumulative.time_frame_transform('Int64', 'cummin') + 2.33±0.01ms 2.94±0.02ms 1.26 groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'transformation', 5) + 2.46±0.02ms 3.10±0.03ms 1.26 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'transformation', 5) + 2.35±0.02ms 2.95±0.02ms 1.26 groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'transformation', 5) + 643±3μs 803±4μs 1.25 groupby.Datelike.time_sum('date_range_tz') + 1.97±0.02ms 2.46±0.02ms 1.25 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'direct', 5) + 2.48±0.03ms 3.10±0.02ms 1.25 groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'transformation', 5) + 1.97±0.04ms 2.45±0.03ms 1.25 groupby.GroupByMethods.time_dtype_as_group('uint', 'sem', 'direct', 5) + 2.04±0.02ms 2.49±0.01ms 1.22 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct', 5) + 1.15±0ms 1.41±0ms 1.22 groupby.GroupByMethods.time_dtype_as_group('object', 'rank', 'direct', 5) + 1.72±0.03ms 2.04±0.1ms 1.18 groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'direct', 5) + 1.65±0ms 1.92±0.01ms 1.17 groupby.GroupByMethods.time_dtype_as_group('int', 'quantile', 'direct', 5) + 1.92±0.01ms 2.23±0.02ms 1.16 groupby.GroupByMethods.time_dtype_as_group('uint', 'median', 'transformation', 5) + 459±2μs 531±2μs 1.16 groupby.GroupManyLabels.time_sum(1) + 1.83±0.01ms 2.11±0.02ms 1.15 groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'transformation', 5) + 1.94±0.02ms 2.23±0.02ms 1.15 groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'transformation', 5) + 1.99±0.01ms 2.29±0.03ms 1.15 groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'transformation', 5) + 1.75±0ms 2.01±0.01ms 1.15 groupby.GroupByMethods.time_dtype_as_group('float', 'rank', 'direct', 5) + 1.67±0.01ms 1.91±0.01ms 1.15 groupby.GroupByMethods.time_dtype_as_group('uint', 'quantile', 'direct', 5) + 11.6±0.08ms 13.3±0.2ms 1.14 groupby.Apply.time_scalar_function_multi_col(5) + 1.74±0.01ms 1.99±0ms 1.14 groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'direct', 5) + 1.78±0.01ms 2.04±0.01ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'rank', 'direct', 5) + 1.83±0.01ms 2.09±0.02ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'mean', 'transformation', 5) + 1.79±0ms 2.04±0.01ms 1.14 groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'direct', 5) + 2.07±0.01ms 2.35±0.03ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'max', 'transformation', 5) + 1.69±0ms 1.92±0ms 1.14 groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'direct', 5) + 2.05±0.02ms 2.32±0ms 1.13 groupby.GroupByMethods.time_dtype_as_group('uint', 'min', 'transformation', 5) + 1.94±0.01ms 2.19±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'transformation', 5) + 28.2±0.5ms 31.9±0.2ms 1.13 groupby.Nth.time_groupby_nth_all('datetime') + 2.03±0.01ms 2.30±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('uint', 'first', 'transformation', 5) + 1.96±0.01ms 2.22±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'transformation', 5) + 89.3±0.6μs 101±0.9μs 1.13 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct', 1) + 100±0.7μs 113±0.7μs 1.13 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct', 5) + 2.07±0.02ms 2.33±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'transformation', 5) + 17.7±0.3ms 19.9±0.5ms 1.13 groupby.Cumulative.time_frame_transform_many_nulls('Int64', 'cummax') + 1.07±0s 1.21±0.02s 1.13 groupby.String.time_str_func('str', 'first') + 2.06±0.03ms 2.32±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'transformation', 5) + 2.15±0.01ms 2.42±0.02ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'transformation', 5) + 1.09±0s 1.23±0.02s 1.12 groupby.String.time_str_func('str', 'last') + 17.6±0.02ms 19.8±0.1ms 1.12 groupby.Cumulative.time_frame_transform_many_nulls('Int64', 'cummin') + 20.9±0.4ms 23.4±0.7ms 1.12 groupby.Cumulative.time_frame_transform_many_nulls('Float64', 'cummin') + 3.41±0.02ms 3.82±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'transformation', 5) + 2.15±0.01ms 2.41±0.04ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'transformation', 5) + 1.46±0.01ms 1.64±0ms 1.12 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumsum', 'transformation', 5) + 2.16±0.01ms 2.42±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'transformation', 5) + 1.33±0.02ms 1.49±0.03ms 1.12 groupby.Datelike.time_sum('period_range') + 2.18±0.02ms 2.43±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'transformation', 5) + 2.04±0.02ms 2.28±0.03ms 1.12 groupby.GroupByMethods.time_dtype_as_group('uint', 'last', 'transformation', 5) + 102±0.3μs 114±1μs 1.12 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct', 1) + 1.89±0.01ms 2.12±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'transformation', 5) + 11.4±0.03ms 12.7±0.2ms 1.12 groupby.Float32.time_sum + 3.42±0.06ms 3.81±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('uint', 'sem', 'transformation', 5) + 1.88±0.02ms 2.09±0.02ms 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'transformation', 5) + 112±0.4μs 124±0.7μs 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct', 5) + 1.57±0.01ms 1.74±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'transformation', 5) + 21.8±0.04ms 24.2±0.1ms 1.11 groupby.Cumulative.time_frame_transform('Float64', 'cummax') + 1.48±0.02ms 1.64±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'transformation', 5) + 20.7±0.3ms 22.9±0.08ms 1.11 groupby.Cumulative.time_frame_transform_many_nulls('Float64', 'cummax') + 1.91±0.01ms 2.11±0.02ms 1.10 groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'transformation', 5) + 115±1μs 127±0.6μs 1.10 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct', 5) + 1.47±0.01ms 1.62±0.01ms 1.10 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummax', 'transformation', 5) + 2.05±0.02ms 2.26±0.02ms 1.10 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'transformation', 5) + 1.47±0.01ms 1.61±0.01ms 1.10 groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'transformation', 5) + 22.4±0.1ms 24.6±0.06ms 1.10 groupby.Cumulative.time_frame_transform('Float64', 'cummin') + 91.6±0.9μs 100±1μs 1.09 groupby.GroupByMethods.time_dtype_as_field('object', 'head', 'direct', 5) + 891±4μs 972±6μs 1.09 groupby.SumMultiLevel.time_groupby_sum_multiindex + 1.56±0.01ms 1.69±0ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'transformation', 5) + 1.76±0.01ms 1.90±0.01ms 1.08 groupby.GroupByMethods.time_dtype_as_group('uint', 'std', 'transformation', 5) + 74.9±0.6μs 81.1±0.1μs 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'head', 'direct', 1) + 74.0±0.4μs 80.1±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('datetime', 'head', 'direct', 1) + 82.4±0.7μs 89.1±0.6μs 1.08 groupby.GroupByMethods.time_dtype_as_field('object', 'head', 'direct', 1) + 1.46±0.01ms 1.58±0.01ms 1.08 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'transformation', 5) + 83.7±0.4μs 90.5±0.8μs 1.08 groupby.GroupByMethods.time_dtype_as_field('int', 'head', 'direct', 5) + 109±0.3μs 118±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'direct', 5) + 6.23±0.1ms 6.73±0.03ms 1.08 groupby.Apply.time_scalar_function_single_col(5) + 74.6±0.8μs 80.6±0.3μs 1.08 groupby.GroupByMethods.time_dtype_as_group('uint', 'head', 'direct', 1) + 3.68±0.02ms 3.98±0.03ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'transformation', 5) + 67.7±0.7μs 73.1±0.6μs 1.08 groupby.GroupByMethods.time_dtype_as_group('object', 'head', 'direct', 1) + 1.58±0.02ms 1.70±0.02ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'transformation', 5) + 109±0.8μs 118±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct', 5) + 74.3±0.7μs 79.9±0.2μs 1.08 groupby.GroupByMethods.time_dtype_as_field('float', 'head', 'direct', 1) + 146±2μs 157±0.8μs 1.08 groupby.GroupByMethods.time_dtype_as_field('int', 'tail', 'direct', 1) + 83.6±0.3μs 89.7±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_field('float', 'head', 'direct', 5) + 74.9±0.1μs 80.4±0.4μs 1.07 groupby.GroupByMethods.time_dtype_as_field('int', 'head', 'direct', 1) + 107±0.8μs 115±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'direct', 5) + 2.35±0.01ms 2.51±0.01ms 1.07 groupby.GroupByMethods.time_dtype_as_group('object', 'rank', 'transformation', 5) + 148±2μs 158±0.7μs 1.07 groupby.GroupByMethods.time_dtype_as_field('uint', 'tail', 'direct', 1) + 144±2μs 154±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_group('uint', 'tail', 'direct', 1) + 74.9±0.4μs 80.0±0.3μs 1.07 groupby.GroupByMethods.time_dtype_as_field('uint', 'head', 'direct', 1) + 1.78±0.01ms 1.90±0.01ms 1.07 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'transformation', 5) + 35.9±0.2ms 38.2±0.5ms 1.06 groupby.Nth.time_groupby_nth_all('object') + 28.5±0.08ms 30.3±0.07ms 1.06 rolling.Pairwise.time_groupby(({}, 'expanding'), 'cov', False) + 134±1μs 142±1μs 1.06 groupby.GroupByMethods.time_dtype_as_group('datetime', 'tail', 'direct', 1) + 76.1±0.8μs 80.8±0.2μs 1.06 groupby.GroupByMethods.time_dtype_as_group('int', 'head', 'direct', 1) + 30.1±0.06ms 31.9±0.2ms 1.06 rolling.Pairwise.time_groupby(({'window': 1000}, 'rolling'), 'cov', False) + 41.3±0.3ms 43.8±0.4ms 1.06 groupby.Nth.time_frame_nth_any('object') + 30.0±0.05ms 31.7±0.05ms 1.06 rolling.Pairwise.time_groupby(({'window': 10}, 'rolling'), 'cov', False) + 3.11±0.01ms 3.29±0.02ms 1.06 groupby.GroupByMethods.time_dtype_as_group('uint', 'quantile', 'transformation', 5) + 135±1μs 142±2μs 1.05 groupby.GroupByMethods.time_dtype_as_group('float', 'tail', 'direct', 1) + 260±1μs 273±2μs 1.05 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct', 5) + 30.6±0.1ms 32.2±0.1ms 1.05 rolling.Pairwise.time_groupby(({'window': 10}, 'rolling'), 'corr', False) + 1.89±0.01ms 1.99±0.01ms 1.05 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'transformation', 5) + 157±1μs 165±0.6μs 1.05 groupby.GroupByMethods.time_dtype_as_field('object', 'tail', 'direct', 1) + 262±1μs 275±3μs 1.05 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'direct', 5) + 167±1μs 175±2μs 1.05 groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'direct', 5) + 166±0.8μs 174±1μs 1.05 groupby.GroupByMethods.time_dtype_as_field('float', 'tail', 'direct', 5) + 176±2μs 185±0.7μs 1.05 groupby.GroupByMethods.time_dtype_as_field('object', 'tail', 'direct', 5) + 116±0.7μs 121±0.3μs 1.05 groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'direct', 5) + 20.3±0.07ms 21.3±0.05ms 1.05 groupby.AggFunctions.time_different_python_functions_multicol + 3.04±0.01ms 3.18±0ms 1.04 groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'transformation', 5) + 3.23±0.02ms 3.37±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'transformation', 5) + 120±0.9μs 125±0.6μs 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'shift', 'direct', 5) + 33.6±0.2ms 35.0±0.8ms 1.04 groupby.Nth.time_series_nth_all('float32') + 3.05±0.02ms 3.18±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'rank', 'transformation', 5) + 1.56±0.01ms 1.63±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'pct_change', 'direct', 5) + 261±0.9μs 272±3μs 1.04 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'direct', 5) + 1.57±0.01ms 1.63±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'transformation', 5) + 38.8±0.06ms 40.2±0.1ms 1.04 groupby.Nth.time_series_nth_any('object') + 188±0.7μs 194±3μs 1.03 groupby.GroupByMethods.time_dtype_as_field('uint', 'first', 'direct', 5) + 540±3μs 558±0.8μs 1.03 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'transformation', 1) + 227±0.7ms 234±0.5ms 1.03 groupby.AggFunctions.time_different_python_functions_singlecol + 1.68±0.01ms 1.72±0.02ms 1.03 groupby.GroupByMethods.time_dtype_as_group('uint', 'any', 'transformation', 5) + 1.63±0ms 1.67±0.02ms 1.03 groupby.GroupByMethods.time_dtype_as_group('float', 'pct_change', 'direct', 5) + 189±0.5μs 195±0.6μs 1.03 groupby.GroupByMethods.time_dtype_as_field('uint', 'max', 'direct', 5) + 389±0.9μs 398±2μs 1.02 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'direct', 5) + 2.01±0ms 2.06±0.01ms 1.02 groupby.GroupByMethods.time_dtype_as_field('object', 'rank', 'transformation', 1) + 192±0.3μs 197±0.5μs 1.02 groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'direct', 5) + 198±0.3ms 200±0.7ms 1.01 groupby.Cumulative.time_frame_transform('Float64', 'cumsum') - 719±2μs 712±0.9μs 0.99 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation', 1) - 320±0.7μs 316±0.6μs 0.99 groupby.GroupByMethods.time_dtype_as_field('object', 'bfill', 'direct', 1) - 632±2μs 622±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'transformation', 1) - 392±1μs 385±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'direct', 5) - 1.37±0.01ms 1.35±0.01ms 0.98 groupby.RankWithTies.time_rank_ties('float32', 'dense') - 227±0.8μs 223±0.3μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'direct', 1) - 208±1μs 204±0.3μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'bfill', 'direct', 1) - 1.08±0.01ms 1.06±0.01ms 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'pct_change', 'direct', 1) - 51.9±0.2ms 50.8±0.5ms 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'describe', 'direct', 5) - 1.02±0.01ms 1.00±0ms 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'pct_change', 'direct', 1) - 221±0.6μs 217±0.5μs 0.98 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'direct', 1) - 495±2μs 485±2μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'direct', 5) - 227±0.7μs 222±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('int', 'ffill', 'direct', 1) - 256±0.5μs 251±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('int', 'bfill', 'direct', 5) - 426±3μs 417±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'direct', 1) - 414±3μs 405±0.8μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'direct', 1) - 2.68±0.03ms 2.62±0ms 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'pct_change', 'direct', 5) - 418±2μs 408±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'sem', 'direct', 1) - 1.10±0ms 1.07±0ms 0.98 groupby.FillNA.time_srs_ffill - 262±1μs 256±0.5μs 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'bfill', 'direct', 5) - 1.38±0.01ms 1.34±0ms 0.98 groupby.RankWithTies.time_rank_ties('float32', 'average') - 234±2μs 228±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_field('uint', 'bfill', 'direct', 1) - 255±0.9μs 248±1μs 0.97 groupby.GroupByMethods.time_dtype_as_field('int', 'ffill', 'direct', 5) - 258±0.9μs 252±2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'tail', 'direct', 5) - 428±3μs 417±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct', 1) - 231±3μs 224±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'bfill', 'direct', 1) - 21.1±0.1ms 20.5±0.06ms 0.97 groupby.GroupByMethods.time_dtype_as_field('float', 'mad', 'direct', 1) - 14.5±0.04ms 14.0±0.07ms 0.97 groupby.AggFunctions.time_different_numpy_functions - 5.29±0.03ms 5.11±0.03ms 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'nunique', 'transformation', 5) - 46.4±0.4ms 44.9±0.3ms 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'direct', 1) - 96.7±0.3μs 93.4±0.2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'direct', 1) - 267±0.7μs 257±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'tail', 'direct', 5) - 98.1±0.5μs 94.5±0.4μs 0.96 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct', 1) - 21.1±0.2ms 20.3±0.04ms 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'describe', 'direct', 1) - 270±2μs 259±4μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'tail', 'direct', 5) - 36.2±0.09ms 34.8±0.08ms 0.96 groupby.GroupByMethods.time_dtype_as_group('uint', 'describe', 'direct', 1) - 1.53±0.01ms 1.47±0.01ms 0.96 rolling.GroupbyEWM.time_groupby_method('var') - 1.42±0ms 1.36±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'min') - 1.40±0.04ms 1.34±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('float64', 'dense') - 36.1±0.2ms 34.6±0.1ms 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct', 1) - 1.42±0ms 1.36±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'max') - 1.79±0.01ms 1.71±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'transformation', 5) - 1.41±0.01ms 1.35±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'dense') - 1.78±0.01ms 1.71±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'ffill', 'transformation', 5) - 1.89±0.02ms 1.81±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'transformation', 5) - 176±1μs 168±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_group('uint', 'head', 'direct', 5) - 5.09±0.04ms 4.87±0.02ms 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'nunique', 'transformation', 5) - 222±2ms 212±0.8ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct', 5) - 1.43±0.01ms 1.36±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'shift', 'transformation', 5) - 13.6±0.08ms 13.0±0.03ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'transformation', 1) - 294±2ms 280±1ms 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'direct', 5) - 10.9±0.06ms 10.4±0.03ms 0.95 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'transformation', 5) - 9.45±0.04ms 9.02±0.04ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'direct', 5) - 509±2μs 485±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('uint', 'sem', 'direct', 5) - 9.33±0.07ms 8.89±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'transformation', 1) - 1.45±0ms 1.38±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'transformation', 5) - 20.4±0.2ms 19.4±0.08ms 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'direct', 1) - 13.3±0.1ms 12.6±0.06ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'direct', 1) - 1.55±0.02ms 1.47±0.01ms 0.95 rolling.GroupbyEWMEngine.time_groupby_mean('cython') - 5.26±0.03ms 5.01±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'nunique', 'transformation', 5) - 8.83±0.08ms 8.40±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'direct', 1) - 14.7±0.2ms 14.0±0.03ms 0.95 groupby.AggFunctions.time_different_str_functions - 223±1ms 212±1ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'describe', 'direct', 5) - 13.7±0.1ms 13.0±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'transformation', 1) - 4.31±0.03ms 4.09±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'nunique', 'transformation', 5) - 1.70±0.01ms 1.61±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'ffill', 'transformation', 5) - 16.1±0.3ms 15.2±0.07ms 0.95 groupby.Nth.time_frame_nth('float64') - 9.70±0.1ms 9.19±0.04ms 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'transformation', 1) - 1.45±0.01ms 1.38±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'transformation', 5) - 1.13±0.02ms 1.07±0.01ms 0.95 groupby.FillNA.time_df_ffill - 13.3±0.06ms 12.6±0.08ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'direct', 1) - 1.71±0.01ms 1.61±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'transformation', 5) - 8.92±0.1ms 8.42±0.04ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'direct', 1) - 9.81±0.09ms 9.27±0.02ms 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'direct', 5) - 5.30±0.01ms 5.00±0ms 0.94 groupby.GroupByMethods.time_dtype_as_group('int', 'nunique', 'transformation', 5) - 9.41±0.1ms 8.88±0.03ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'transformation', 1) - 9.58±0.09ms 9.03±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'direct', 5) - 1.81±0.01ms 1.70±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'transformation', 5) - 31.7±0.1ms 29.9±0.1ms 0.94 groupby.TransformEngine.time_series_cython(True) - 1.68±0.01ms 1.58±0ms 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'transformation', 5) - 1.71±0.02ms 1.62±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('uint', 'bfill', 'transformation', 5) - 21.0±0.3ms 19.8±0.1ms 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'transformation', 1) - 9.25±0.09ms 8.72±0.1ms 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'direct', 1) - 1.57±0.01ms 1.48±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'transformation', 5) - 1.56±0.01ms 1.47±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'transformation', 5) - 31.7±0.3ms 29.8±0.2ms 0.94 groupby.TransformEngine.time_series_cython(False) - 1.53±0.02ms 1.43±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation', 5) - 210±1μs 197±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'tail', 'direct', 5) - 1.16±0.02ms 1.08±0.01ms 0.94 groupby.FillNA.time_df_bfill - 289±2ms 269±3ms 0.93 groupby.GroupByCythonAgg.time_frame_agg('float64', 'median') - 33.0±0.2ms 30.6±0.2ms 0.93 groupby.TransformEngine.time_dataframe_cython(True) - 128±1μs 119±0.7μs 0.93 groupby.GroupByMethods.time_dtype_as_field('uint', 'shift', 'direct', 5) - 1.31±0.01ms 1.22±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'transformation', 5) - 1.86±0.04ms 1.73±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('int', 'cumcount', 'transformation', 5) - 1.47±0.01ms 1.36±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'transformation', 5) - 115±1μs 107±1μs 0.93 groupby.GroupByMethods.time_dtype_as_field('uint', 'shift', 'direct', 1) - 123±0.9μs 114±0.5μs 0.93 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct', 5) - 1.04±0.01ms 960±6μs 0.92 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'direct', 5) - 1.07±0.01ms 994±5μs 0.92 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'direct', 5) - 1.06±0.02ms 980±4μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'direct', 5) - 108±0.7μs 100.0±0.4μs 0.92 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct', 1) - 69.6±0.6ms 64.2±0.3ms 0.92 groupby.GroupByMethods.time_dtype_as_field('datetime', 'unique', 'direct', 1) - 1.10±0.01ms 1.01±0.01ms 0.92 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumcount', 'direct', 5) - 106±0.5μs 97.4±0.7μs 0.92 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'direct', 1) - 38.6±0.2ms 35.5±0.4ms 0.92 groupby.GroupByMethods.time_dtype_as_field('uint', 'unique', 'direct', 1) - 110±0.6μs 101±0.8μs 0.92 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct', 1) - 696±9μs 638±5μs 0.92 groupby.Shift.time_fill_value - 1.42±0.01ms 1.30±0.01ms 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'transformation', 5) - 111±2μs 102±0.7μs 0.92 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct', 1) - 38.7±0.3ms 35.4±0.1ms 0.92 groupby.GroupByMethods.time_dtype_as_field('int', 'unique', 'direct', 1) - 56.7±0.3ms 51.9±0.7ms 0.92 groupby.GroupByMethods.time_dtype_as_group('uint', 'unique', 'direct', 1) - 89.5±0.5ms 81.7±0.6ms 0.91 groupby.GroupByMethods.time_dtype_as_group('float', 'unique', 'direct', 1) - 138±1μs 126±1μs 0.91 groupby.GroupByMethods.time_dtype_as_group('object', 'head', 'direct', 5) - 93.1±0.4ms 84.9±0.4ms 0.91 groupby.GroupByMethods.time_dtype_as_group('datetime', 'unique', 'direct', 1) - 42.0±0.3ms 38.0±0.2ms 0.90 groupby.GroupByMethods.time_dtype_as_field('object', 'unique', 'direct', 1) - 57.4±0.7ms 51.8±0.1ms 0.90 groupby.GroupByMethods.time_dtype_as_group('int', 'unique', 'direct', 1) - 39.7±0.2ms 35.6±0.2ms 0.90 groupby.GroupByMethods.time_dtype_as_field('float', 'unique', 'direct', 1) - 43.0±0.6ms 37.9±0.2ms 0.88 groupby.Sample.time_sample - 50.9±0.2ms 44.8±0.5ms 0.88 groupby.Apply.time_scalar_function_multi_col(4) - 17.8±0.1ms 15.6±0.1ms 0.88 groupby.Apply.time_scalar_function_single_col(4) - 281±4ms 241±0.9ms 0.86 groupby.MultiColumn.time_lambda_sum - 150±2ms 127±1ms 0.85 groupby.MultiColumn.time_col_select_lambda_sum - 158±0.9ms 90.4±0.7ms 0.57 groupby.Apply.time_copy_overhead_single_col(4) - 409±2ms 230±0.9ms 0.56 groupby.Apply.time_copy_function_multi_col(4) ```

Reductions (stat_ops)

$ asv continuous -f 1.01 -b stat_ops HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 4.30±0.03ms 187±2ms 43.44 stat_ops.Correlation.time_corrwith_rows('pearson') + 616±9μs 3.18±0.02ms 5.16 stat_ops.FrameOps.time_op('prod', 'int', 1) + 590±4μs 2.92±0.01ms 4.94 stat_ops.FrameOps.time_op('sum', 'int', 1) + 1.67±0.01ms 6.25±0.02ms 3.74 stat_ops.FrameOps.time_op('sum', 'float', 1) + 3.91±0.01ms 9.27±0.07ms 2.37 stat_ops.Correlation.time_corrwith_cols('pearson') + 975±4μs 2.06±0.01ms 2.11 stat_ops.FrameOps.time_op('mean', 'int', 1) + 1.09±0.01ms 2.17±0.02ms 1.98 stat_ops.FrameOps.time_op('mean', 'float', 1) + 9.77±0.03ms 17.6±0.07ms 1.81 stat_ops.FrameOps.time_op('kurt', 'int', 1) + 11.4±0.09ms 19.8±0.04ms 1.73 stat_ops.FrameOps.time_op('skew', 'int', 1) + 3.86±0.05ms 6.63±0.08ms 1.72 stat_ops.FrameOps.time_op('mad', 'int', 1) + 1.43±0.01ms 2.46±0.01ms 1.71 stat_ops.FrameOps.time_op('var', 'int', 1) + 1.57±0.01ms 2.61±0.02ms 1.67 stat_ops.FrameOps.time_op('var', 'float', 1) + 1.71±0.01ms 2.73±0.02ms 1.60 stat_ops.FrameOps.time_op('std', 'int', 1) + 4.65±0.06ms 7.36±0.04ms 1.58 stat_ops.FrameOps.time_op('sem', 'float', 1) + 4.05±0.03ms 6.28±0ms 1.55 stat_ops.FrameOps.time_op('prod', 'float', 1) + 1.93±0.01ms 2.97±0.02ms 1.54 stat_ops.FrameOps.time_op('std', 'float', 1) + 5.56±0.02ms 8.43±0.02ms 1.52 stat_ops.FrameMultiIndexOps.time_op(0, 'std') + 5.68±0.06ms 8.57±0.04ms 1.51 stat_ops.FrameMultiIndexOps.time_op(0, 'var') + 5.76±0.02ms 8.48±0.05ms 1.47 stat_ops.FrameMultiIndexOps.time_op(1, 'var') + 518±1ms 761±4ms 1.47 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'skew') + 5.71±0.06ms 8.37±0.08ms 1.47 stat_ops.FrameMultiIndexOps.time_op(1, 'std') + 4.45±0.2ms 6.53±0.1ms 1.46 stat_ops.FrameOps.time_op('mad', 'float', 1) + 240±0.4μs 333±2μs 1.39 stat_ops.Correlation.time_corr('pearson') + 5.66±0.03ms 7.69±0.04ms 1.36 stat_ops.FrameMultiIndexOps.time_op(0, 'mean') + 5.70±0.01ms 7.67±0.01ms 1.35 stat_ops.FrameMultiIndexOps.time_op(0, 'sum') + 66.7±0.5ms 88.5±1ms 1.33 stat_ops.FrameMultiIndexOps.time_op(1, 'skew') + 5.83±0.03ms 7.70±0.06ms 1.32 stat_ops.FrameMultiIndexOps.time_op(1, 'sum') + 5.81±0.03ms 7.62±0.03ms 1.31 stat_ops.FrameMultiIndexOps.time_op(1, 'mean') + 3.71±0.03ms 4.79±0.06ms 1.29 stat_ops.FrameOps.time_op('sem', 'int', 1) + 3.82±0.01ms 4.81±0.02ms 1.26 stat_ops.FrameOps.time_op('median', 'int', 1) + 9.02±0.1ms 11.3±0.03ms 1.26 stat_ops.FrameMultiIndexOps.time_op(1, 'sem') + 9.19±0.04ms 11.5±0.03ms 1.25 stat_ops.FrameMultiIndexOps.time_op(0, 'sem') + 4.59±0.02ms 5.65±0.02ms 1.23 stat_ops.FrameOps.time_op('median', 'float', 1) + 978±8ms 1.20±0s 1.23 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'mad') + 4.10±0.01ms 4.96±0.1ms 1.21 stat_ops.Correlation.time_corr_wide('pearson') + 9.87±0.3ms 11.9±0.3ms 1.21 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'std') + 10.0±0.2ms 12.1±0.3ms 1.21 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'var') + 5.18±0.04ms 6.21±0.04ms 1.20 stat_ops.FrameMultiIndexOps.time_op(0, 'prod') + 112±0.8ms 133±0.7ms 1.19 stat_ops.FrameMultiIndexOps.time_op(1, 'mad') + 5.17±0.03ms 6.15±0.03ms 1.19 stat_ops.FrameMultiIndexOps.time_op(1, 'prod') + 3.64±0.04ms 4.27±0.02ms 1.17 stat_ops.FrameOps.time_op('mad', 'int', 0) + 13.2±0.04ms 15.2±0.2ms 1.14 stat_ops.Rank.time_rank('DataFrame', True) + 15.8±0.01ms 18.0±0.06ms 1.14 stat_ops.Correlation.time_corr_wide_nans('pearson') + 13.1±0.05ms 14.8±0.2ms 1.13 stat_ops.Rank.time_rank('DataFrame', False) + 13.3±0.03ms 15.1±0.2ms 1.13 stat_ops.Rank.time_average_old('DataFrame', False) + 13.5±0.03ms 15.2±0.2ms 1.12 stat_ops.Rank.time_average_old('DataFrame', True) + 753±10μs 841±10μs 1.12 stat_ops.FrameOps.time_op('sum', 'int', 0) + 973±6μs 1.08±0ms 1.11 stat_ops.FrameOps.time_op('mean', 'int', 0) + 983±4μs 1.08±0ms 1.10 stat_ops.FrameOps.time_op('mean', 'float', 0) + 1.15±0ms 1.27±0.01ms 1.10 stat_ops.Correlation.time_corr('spearman') + 14.0±0.2ms 15.1±0.04ms 1.08 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'sem') + 2.91±0.01ms 3.13±0.01ms 1.07 stat_ops.FrameOps.time_op('skew', 'int', 0) + 4.01±0.01ms 4.30±0.01ms 1.07 stat_ops.FrameOps.time_op('kurt', 'float', 0) + 22.0±0.09ms 23.6±0.3ms 1.07 stat_ops.FrameMultiIndexOps.time_op(0, 'mad') + 4.17±0.01ms 4.45±0.01ms 1.07 stat_ops.FrameOps.time_op('skew', 'float', 0) + 2.78±0.02ms 2.96±0.01ms 1.06 stat_ops.FrameOps.time_op('kurt', 'int', 0) + 1.64±0ms 1.73±0.01ms 1.06 stat_ops.FrameOps.time_op('var', 'int', 0) + 1.65±0.01ms 1.73±0.01ms 1.05 stat_ops.FrameOps.time_op('var', 'float', 0) + 1.68±0ms 1.74±0.01ms 1.04 stat_ops.FrameOps.time_op('prod', 'float', 0) + 3.50±0.02ms 3.60±0.02ms 1.03 stat_ops.FrameOps.time_op('sem', 'int', 0) + 3.84±0.02ms 3.93±0.02ms 1.02 stat_ops.FrameOps.time_op('sem', 'float', 0) - 22.0±0.2ms 21.3±0.09ms 0.97 stat_ops.SeriesMultiIndexOps.time_op(1, 'skew') - 150±1ms 145±0.9ms 0.97 stat_ops.SeriesMultiIndexOps.time_op([0, 1], 'kurt') - 1.29±0.01ms 1.24±0ms 0.97 stat_ops.FrameOps.time_op('prod', 'Int64', 0) - 1.13±0ms 1.09±0.01ms 0.96 stat_ops.FrameOps.time_op('sum', 'Int64', 0) - 575±2ms 548±4ms 0.95 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'kurt') - 148±0.7ms 141±0.7ms 0.95 stat_ops.SeriesMultiIndexOps.time_op([0, 1], 'skew') - 36.4±1ms 34.7±0.05ms 0.95 stat_ops.FrameOps.time_op('sum', 'Int64', 1) - 39.1±1ms 37.2±0.2ms 0.95 stat_ops.FrameOps.time_op('mean', 'Int64', 1) - 1.24±0.01ms 1.18±0.01ms 0.95 stat_ops.FrameOps.time_op('mean', 'Int64', 0) - 20.2±0.1ms 19.1±0.1ms 0.94 stat_ops.FrameMultiIndexOps.time_op(0, 'skew') - 59.4±1ms 55.5±0.2ms 0.93 stat_ops.FrameOps.time_op('skew', 'Int64', 1) - 77.9±0.4ms 72.4±0.5ms 0.93 stat_ops.FrameMultiIndexOps.time_op(1, 'kurt') - 25.8±0.05ms 23.6±0.05ms 0.92 stat_ops.FrameMultiIndexOps.time_op(0, 'kurt') - 39.3±1ms 35.5±0.06ms 0.90 stat_ops.FrameOps.time_op('prod', 'Int64', 1) ```

Element-wise ops (arithmetic)

$ asv continuous -f 1.01 -b arithmetic HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 6.10±0.04ms 87.1±2ms 14.28 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 9.92±0.05ms 106±0.5ms 10.67 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 416±5μs 4.32±0.4ms 10.37 arithmetic.Ops2.time_frame_series_dot + 12.9±0.03ms 119±0.6ms 9.16 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 1.15±0.03ms 9.37±0.09ms 8.15 arithmetic.Ops2.time_frame_float_div_by_zero + 35.6±0.07ms 285±3ms 8.01 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.52±0.04ms 11.7±0.08ms 7.73 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('eq') + 1.52±0.04ms 11.6±0.04ms 7.60 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ne') + 1.54±0.05ms 11.7±0.1ms 7.58 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('gt') + 1.54±0.04ms 11.6±0.05ms 7.51 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('le') + 1.56±0.05ms 11.7±0.1ms 7.46 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ge') + 1.56±0.06ms 11.6±0.05ms 7.43 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('lt') + 1.82±0.01ms 10.5±0.07ms 5.78 arithmetic.Ops2.time_frame_int_div_by_zero + 13.6±0.06ms 77.6±0.8ms 5.72 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 1.79±0.01ms 8.77±0.04ms 4.91 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('add') + 1.83±0.03ms 8.81±0.03ms 4.83 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('sub') + 20.5±0.08ms 96.0±0.4ms 4.68 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('pow') + 2.82±0.02ms 13.2±0.07ms 4.67 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('truediv') + 1.99±0.02ms 8.93±0.03ms 4.49 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('mul') + 19.4±7ms 60.6±0.3ms 3.12 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 5.54±0.5ms 15.7±0.1ms 2.84 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('truediv') + 9.77±0.07ms 27.0±0.4ms 2.76 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 5.42±0.5ms 14.2±0.1ms 2.61 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('sub') + 5.45±0.5ms 14.1±0.08ms 2.59 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('mul') + 5.86±0.09ms 15.0±0.3ms 2.56 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 30.4±0.08ms 76.8±0.9ms 2.53 arithmetic.Ops2.time_frame_float_floor_by_zero + 9.50±1ms 22.3±1ms 2.35 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('eq') + 9.52±1ms 22.2±2ms 2.34 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ne') + 9.49±1ms 22.1±2ms 2.33 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('le') + 9.50±1ms 22.0±2ms 2.32 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('lt') + 9.55±1ms 22.1±2ms 2.32 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ge') + 9.56±1ms 22.0±2ms 2.30 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('gt') + 1.79±0.01ms 4.11±0.2ms 2.30 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.81±0ms 4.13±0.2ms 2.28 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.78±0.03ms 4.00±0.2ms 2.25 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.28±0.01ms 2.85±0.2ms 2.23 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.28±0.02ms 2.84±0.3ms 2.23 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.81±0.02ms 3.99±0.2ms 2.21 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 6.41±1ms 14.1±0.1ms 2.20 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('add') + 1.90±0.01ms 4.15±0.1ms 2.18 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.90±0.04ms 4.13±0.2ms 2.18 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.93±0.03ms 4.14±0.2ms 2.15 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 21.6±3ms 46.1±0.5ms 2.14 arithmetic.Ops.time_frame_multi_and(True, 'default') + 1.28±0.01ms 2.74±0.2ms 2.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.88±0.01ms 3.99±0.2ms 2.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.27±0.01ms 2.69±0.2ms 2.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.88±0.02ms 3.97±0.2ms 2.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.89±0.02ms 3.96±0.2ms 2.09 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.43±0.02ms 5.04±0.09ms 2.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.26±0.02ms 2.60±0.1ms 2.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.42±0.01ms 4.96±0.5ms 2.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.02±0.02ms 4.14±0.2ms 2.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.81±0.01ms 5.73±0.1ms 2.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.42±0.01ms 4.91±0.06ms 2.02 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.42±0ms 4.85±0.06ms 2.00 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.02±0.02ms 4.03±0.2ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.36±0.01ms 2.70±0.08ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 13.5±0.04ms 26.8±0.2ms 1.98 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 1.37±0.01ms 2.70±0.08ms 1.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.92±0.07ms 5.78±0.07ms 1.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.27±0.01ms 2.51±0.02ms 1.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.78±0.02ms 5.45±0.07ms 1.96 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.42±0.01ms 4.73±0.07ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.42±0.01ms 4.71±0.2ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.35±0.01ms 2.58±0.1ms 1.91 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.35±0ms 2.57±0.2ms 1.89 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 33.4±0.7ms 62.6±0.8ms 1.88 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('floordiv') + 12.7±0.01ms 23.8±0.09ms 1.87 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 1.45±0ms 2.69±0.09ms 1.86 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.45±0ms 2.68±0.1ms 1.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.46±0.01ms 2.70±0.07ms 1.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.43±0.01ms 2.60±0.1ms 1.81 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.44±0.02ms 2.57±0.1ms 1.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 35.7±0.09ms 63.3±0.4ms 1.77 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 1.44±0.01ms 2.56±0.1ms 1.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.96±0.03ms 3.44±0.04ms 1.75 arithmetic.Ops.time_frame_comparison(True, 'default') + 26.2±2ms 45.6±0.6ms 1.74 arithmetic.Ops.time_frame_multi_and(False, 'default') + 26.5±2ms 46.0±0.2ms 1.74 arithmetic.Ops.time_frame_multi_and(False, 1) + 1.57±0.01ms 2.72±0.06ms 1.73 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 20.9±0.1ms 35.8±0.5ms 1.71 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 20.9±0.03ms 35.7±0.2ms 1.71 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 3.27±0.06ms 5.49±0.1ms 1.68 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.03±0.04ms 3.39±0.04ms 1.67 arithmetic.Ops.time_frame_comparison(False, 'default') + 2.03±0.02ms 3.39±0.03ms 1.67 arithmetic.Ops.time_frame_comparison(False, 1) + 1.70±0.01ms 2.83±0.07ms 1.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.71±0.01ms 2.85±0.1ms 1.66 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.71±0.01ms 2.83±0.1ms 1.66 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 28.2±2ms 46.2±0.5ms 1.64 arithmetic.Ops.time_frame_multi_and(True, 1) + 1.56±0ms 2.55±0.1ms 1.63 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.72±0.01ms 2.80±0.09ms 1.63 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 11.1±0.1ms 18.0±3ms 1.62 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 1.71±0.02ms 2.75±0.1ms 1.61 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.71±0.01ms 2.73±0.1ms 1.59 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.70±0.01ms 2.66±0.1ms 1.56 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.70±0.01ms 2.63±0.1ms 1.55 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.79±0.02ms 2.75±0.07ms 1.54 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.45±0.02ms 3.73±0.07ms 1.53 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.81±0.01ms 2.75±0.06ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.59±0.05ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.43±0.02ms 3.65±0.06ms 1.50 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 27.6±0.6ms 40.6±0.05ms 1.47 arithmetic.Ops2.time_frame_dot + 9.86±0.07ms 14.5±0.3ms 1.47 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) + 2.36±0.02ms 3.46±0.03ms 1.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.45±0.06ms 1.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.90±0.02ms 2.78±0.08ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.02ms 3.45±0.03ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.01ms 3.44±0.02ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.34±0.01ms 3.41±0.04ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.44±0.06ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.42±0.01ms 3.51±0.07ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.90±0.01ms 2.76±0.08ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.88±0.02ms 2.73±0.07ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.85±0.01ms 2.66±0.1ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.85±0.01ms 2.63±0.1ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.85±0.02ms 2.61±0.1ms 1.41 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 26.2±1ms 37.0±0.4ms 1.41 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('pow') + 2.36±0.01ms 3.32±0.05ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.37±0.01ms 3.32±0.03ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.37±0.01ms 3.32±0.04ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.37±0.02ms 3.30±0.04ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.60±0.03ms 3.62±0.04ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.01ms 3.28±0.06ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.38±0.02ms 3.29±0.03ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.37±0.01ms 3.26±0.04ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.00±0.02ms 2.76±0.09ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.25±0.04ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.38±0.01ms 3.26±0.03ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.38±0.01ms 3.25±0.04ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.97±0.02ms 2.64±0.1ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 41.8±0.03ms 56.0±0.7ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 41.6±0.05ms 55.7±0.3ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 41.7±0.02ms 55.7±0.3ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.91±0.02ms 3.88±0.05ms 1.33 arithmetic.Ops.time_frame_add(False, 'default') + 2.37±0.02ms 3.14±0.05ms 1.32 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.92±0.2ms 3.85±0.03ms 1.32 arithmetic.Ops.time_frame_mult(False, 'default') + 37.3±0.4ms 49.0±0.1ms 1.31 arithmetic.Ops2.time_frame_float_div + 2.37±0.02ms 3.10±0.04ms 1.31 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.95±0.03ms 3.84±0.05ms 1.30 arithmetic.Ops.time_frame_mult(False, 1) + 2.98±0.1ms 3.87±0.03ms 1.30 arithmetic.Ops.time_frame_add(False, 1) + 10.8±0.06ms 13.6±0.3ms 1.26 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 32.3±0.2ms 39.2±0.08ms 1.21 arithmetic.Ops2.time_frame_float_mod + 3.31±0.02ms 3.98±0.03ms 1.20 arithmetic.Ops.time_frame_add(True, 1) + 2.96±0.03ms 3.48±0.03ms 1.18 arithmetic.Ops.time_frame_comparison(True, 1) + 30.4±0.02ms 34.5±0.3ms 1.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 30.3±0.1ms 34.5±0.3ms 1.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 33.2±0.03ms 37.7±0.2ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 33.1±0.06ms 37.4±0.3ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 33.3±0.05ms 37.6±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 33.3±0.1ms 37.5±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 32.2±0.05ms 36.3±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 33.4±0.1ms 37.5±0.3ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 29.1±0.2ms 32.6±0.2ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 32.4±0.07ms 36.1±0.3ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 29.1±0.05ms 32.4±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 30.3±0.04ms 33.7±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 28.9±0.6ms 32.1±0.2ms 1.11 arithmetic.Ops2.time_frame_int_mod + 28.2±0.07ms 31.2±0.1ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 28.1±0.02ms 31.1±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 28.3±0.07ms 31.2±0.3ms 1.10 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 12.7±0.05ms 13.7±0.09ms 1.08 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (100000, 100)) + 35.6±0.03ms 38.2±0.07ms 1.07 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) - 35.5±0.04ms 35.1±0.05ms 0.99 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) - 463±20μs 426±4μs 0.92 arithmetic.NumericInferOps.time_multiply() - 469±20μs 421±5μs 0.90 arithmetic.NumericInferOps.time_add() - 9.40±0.5ms 8.28±0.06ms 0.88 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000000, 10)) - 42.2±0.07ms 3.40±0.03ms 0.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) ```

In general the element-wise ops are probably that set of operations that can see the biggest impact of performing column-by-column instead of on a single block:

The remainder

$ asv continuous -f 1.01 HEAD~1 HEAD with the above entries removed ```diff before after ratio [f8052655] [5815ddc3] + 6.71±1ms 75.1±4ms 11.20 eval.Eval.time_add('numexpr', 'all') + 6.74±1ms 72.8±5ms 10.79 eval.Eval.time_mult('numexpr', 'all') + 11.3±0.2ms 96.3±2ms 8.49 eval.Eval.time_chained_cmp('numexpr', 'all') + 9.06±0.6ms 73.5±5ms 8.11 eval.Eval.time_mult('numexpr', 1) + 9.01±0.6ms 73.1±5ms 8.11 eval.Eval.time_add('numexpr', 1) + 414±20μs 2.72±0.2ms 6.56 rolling.TableMethod.time_apply('table') + 14.6±0.7ms 65.9±1ms 4.52 eval.Eval.time_and('numexpr', 'all') + 25.3±0.2ms 111±0.7ms 4.38 eval.Eval.time_chained_cmp('numexpr', 1) + 15.9±0.1μs 45.2±0.4μs 2.85 dtypes.SelectDtypes.time_select_dtype_string_include() + 16.1±0.1μs 45.7±0.2μs 2.84 dtypes.SelectDtypes.time_select_dtype_int_include() + 15.9±0.2μs 45.1±0.4μs 2.84 dtypes.SelectDtypes.time_select_dtype_float_include() + 16.0±0.1μs 45.4±0.4μs 2.84 dtypes.SelectDtypes.time_select_dtype_bool_include() + 16.0±0.02μs 45.4±0.4μs 2.83 dtypes.SelectDtypes.time_select_dtype_string_include() + 16.0±0.2μs 45.2±0.4μs 2.82 dtypes.SelectDtypes.time_select_dtype_bool_include() + 11.0±0.7ms 29.5±0.5ms 2.69 io.hdf.HDFStoreDataFrame.time_read_store_table_wide + 15.7±0.09μs 41.5±0.2μs 2.65 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 15.8±0.1μs 41.6±0.4μs 2.64 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 33.1±0.07ms 84.4±0.8ms 2.55 eval.Eval.time_and('numexpr', 1) + 23.1±0.09μs 52.4±0.4μs 2.26 dtypes.SelectDtypes.time_select_dtype_string_include() + 23.1±0.08μs 52.3±0.3μs 2.26 dtypes.SelectDtypes.time_select_dtype_float_include() + 23.4±0.2μs 52.4±0.2μs 2.24 dtypes.SelectDtypes.time_select_dtype_int_include() + 23.5±0.2μs 52.5±0.4μs 2.24 dtypes.SelectDtypes.time_select_dtype_string_include() + 23.5±0.1μs 52.5±0.3μs 2.23 dtypes.SelectDtypes.time_select_dtype_float_include() + 23.5±0.09μs 52.5±0.1μs 2.23 dtypes.SelectDtypes.time_select_dtype_int_include() + 23.6±0.07μs 52.6±0.2μs 2.23 dtypes.SelectDtypes.time_select_dtype_bool_include() + 26.3±0.1μs 56.3±0.4μs 2.14 dtypes.SelectDtypes.time_select_dtype_string_include('Int8') + 26.5±0.1μs 56.0±0.3μs 2.11 dtypes.SelectDtypes.time_select_dtype_float_include('Int8') + 26.6±0.1μs 55.9±0.2μs 2.10 dtypes.SelectDtypes.time_select_dtype_int_include('Int8') + 26.7±0.1μs 56.1±0.4μs 2.10 dtypes.SelectDtypes.time_select_dtype_bool_include('Int8') + 23.3±0.2μs 48.7±0.1μs 2.09 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 27.3±0.3μs 57.1±0.3μs 2.09 dtypes.SelectDtypes.time_select_dtype_float_include('Int16') + 27.2±0.2μs 56.8±0.3μs 2.09 dtypes.SelectDtypes.time_select_dtype_string_include('Int16') + 27.3±0.2μs 56.7±0.3μs 2.08 dtypes.SelectDtypes.time_select_dtype_bool_include('Int16') + 27.4±0.3μs 56.8±0.2μs 2.07 dtypes.SelectDtypes.time_select_dtype_int_include('Int16') + 27.9±0.1μs 57.5±0.3μs 2.06 dtypes.SelectDtypes.time_select_dtype_int_include('Int32') + 28.0±0.1μs 57.6±0.2μs 2.06 dtypes.SelectDtypes.time_select_dtype_float_include('Int32') + 28.0±0.2μs 57.6±0.1μs 2.05 dtypes.SelectDtypes.time_select_dtype_string_include('Int32') + 28.1±0.3μs 57.5±0.3μs 2.05 dtypes.SelectDtypes.time_select_dtype_bool_include('Int32') + 28.8±0.4μs 58.7±0.5μs 2.04 dtypes.SelectDtypes.time_select_dtype_string_include('Int64') + 28.9±0.4μs 58.8±0.4μs 2.03 dtypes.SelectDtypes.time_select_dtype_float_include('Int64') + 28.8±0.4μs 58.5±0.3μs 2.03 dtypes.SelectDtypes.time_select_dtype_bool_include('Int64') + 29.2±0.2μs 59.3±0.5μs 2.03 dtypes.SelectDtypes.time_select_dtype_int_include('UInt8') + 29.7±0.1μs 60.0±0.6μs 2.02 dtypes.SelectDtypes.time_select_dtype_int_include('UInt16') + 29.5±0.1μs 59.3±0.6μs 2.01 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt8') + 29.9±0.1μs 60.0±0.3μs 2.01 dtypes.SelectDtypes.time_select_dtype_string_include('UInt16') + 29.5±0.2μs 59.3±0.3μs 2.01 dtypes.SelectDtypes.time_select_dtype_float_include('UInt8') + 29.6±0.2μs 59.1±0.2μs 2.00 dtypes.SelectDtypes.time_select_dtype_string_include('UInt8') + 29.9±0.2μs 59.8±0.2μs 2.00 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt16') + 29.9±0.1μs 59.7±0.3μs 2.00 dtypes.SelectDtypes.time_select_dtype_float_include('UInt16') + 30.4±0.2μs 60.5±0.3μs 1.99 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt32') + 30.5±0.1μs 60.6±0.2μs 1.99 dtypes.SelectDtypes.time_select_dtype_string_include('UInt32') + 30.7±0.2μs 60.7±0.3μs 1.98 dtypes.SelectDtypes.time_select_dtype_int_include('UInt32') + 31.0±0.08μs 61.2±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_int_include('UInt64') + 31.1±0.1μs 61.3±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_string_include('UInt64') + 30.7±0.1μs 60.5±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_float_include('UInt32') + 31.3±0.09μs 61.4±0.2μs 1.96 dtypes.SelectDtypes.time_select_dtype_float_include('UInt64') + 31.4±0.2μs 61.6±0.5μs 1.96 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt64') + 4.56±0.05ms 8.86±3ms 1.94 gil.ParallelRolling.time_rolling('min') + 28.5±0.3μs 54.8±0.3μs 1.92 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int64') + 212±0.7ns 389±4ns 1.84 attrs_caching.DataFrameAttributes.time_get_index + 6.39±0.08ms 11.6±0.03ms 1.81 timeseries.AsOf.time_asof_nan('DataFrame') + 6.60±0.06ms 11.8±0.02ms 1.78 timeseries.AsOf.time_asof('DataFrame') + 40.1±0.3μs 71.4±2μs 1.78 dtypes.SelectDtypes.time_select_dtype_int_include('int8') + 40.4±0.2μs 71.6±2μs 1.77 dtypes.SelectDtypes.time_select_dtype_int_include('int16') + 39.8±0.2μs 70.1±0.2μs 1.76 dtypes.SelectDtypes.time_select_dtype_string_include('m8[ns]') + 39.9±0.02μs 70.1±0.6μs 1.76 dtypes.SelectDtypes.time_select_dtype_string_include('M8[ns]') + 40.0±0.2μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('m8[ns]') + 40.0±0.3μs 70.2±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('M8[ns]') + 40.1±0.08μs 70.3±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint16') + 39.9±0.08μs 69.9±0.1μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('m8[ns]') + 40.1±0.2μs 70.3±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('uint16') + 40.0±0.2μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint64') + 39.9±0.1μs 70.0±0.2μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('M8[ns]') + 40.1±0.1μs 70.2±0.9μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('float64') + 39.8±0.2μs 69.7±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int8') + 40.1±0.4μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('m8[ns]') + 40.2±0.1μs 70.2±0.6μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('complex64') + 40.0±0.2μs 69.8±0.09μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('float32') + 39.9±0.3μs 69.7±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('bool') + 40.6±0.1μs 70.8±0.1μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('timedelta64[ns]') + 40.1±0.1μs 70.0±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('M8[ns]') + 40.3±0.2μs 70.3±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint32') + 40.1±0.2μs 70.1±0.2μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int32') + 40.0±0.1μs 69.9±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('int32') + 40.2±0.2μs 70.1±0.4μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('uint16') + 40.0±0.2μs 69.9±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('complex128') + 40.2±0.06μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int64') + 40.0±0.2μs 69.8±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('complex64') + 40.1±0.3μs 69.9±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('uint8') + 40.0±0.1μs 69.8±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_int_include('complex128') + 40.1±0.5μs 70.0±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('uint8') + 40.1±0.1μs 69.9±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('int64') + 40.2±0.1μs 70.1±0.1μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('float32') + 40.1±0.1μs 69.9±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int64') + 40.2±0.2μs 70.0±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('complex64') + 40.2±0.3μs 70.2±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int32') + 40.7±0.2μs 70.9±0.1μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('timedelta64[ns]') + 40.0±0.09μs 69.7±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('float32') + 39.9±0.1μs 69.5±0.4μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('bool') + 40.2±0.2μs 69.9±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('float64') + 40.1±0.06μs 69.8±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('complex128') + 40.7±0.2μs 70.8±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('timedelta64[ns]') + 40.4±0.3μs 70.2±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('float32') + 40.2±0.2μs 69.8±0.7μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('uint64') + 40.2±0.1μs 69.8±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int8') + 40.1±0.1μs 69.7±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('float64') + 40.3±0.2μs 69.9±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_int_include('uint32') + 40.2±0.1μs 69.8±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('uint16') + 39.9±0.07μs 69.3±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('bool') + 40.3±0.4μs 70.0±0.4μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('int16') + 40.8±0.2μs 70.7±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('timedelta64[ns]') + 40.1±0.2μs 69.6±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('complex64') + 40.2±0.2μs 69.8±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('uint64') + 40.3±0.5μs 69.9±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_string_include('uint32') + 40.4±0.3μs 70.0±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_float_include('int16') + 40.2±0.1μs 69.7±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int32') + 40.2±0.4μs 69.7±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('uint64') + 40.3±0.5μs 69.8±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int16') + 41.1±0.2μs 71.1±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('datetime64[ns]') + 41.0±0.3μs 70.9±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_string_include('datetime64[ns]') + 40.3±0.5μs 69.7±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int8') + 40.4±0.1μs 69.9±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('complex128') + 40.4±0.3μs 69.8±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('uint32') + 41.1±0.3μs 71.0±0.2μs 1.72 dtypes.SelectDtypes.time_select_dtype_float_include('datetime64[ns]') + 40.5±0.4μs 69.7±0.4μs 1.72 dtypes.SelectDtypes.time_select_dtype_int_include('uint8') + 40.6±0.3μs 69.9±0.5μs 1.72 dtypes.SelectDtypes.time_select_dtype_bool_include('uint8') + 41.4±0.2μs 71.0±0.4μs 1.72 dtypes.SelectDtypes.time_select_dtype_bool_include('datetime64[ns]') + 47.2±0.7μs 80.5±0.6μs 1.71 replace.ReplaceList.time_replace_list(True) + 12.9±0.03ms 21.4±3ms 1.65 indexing.ChainIndexing.time_chained_indexing(None) + 40.1±0.2μs 66.0±0.4μs 1.65 dtypes.SelectDtypes.time_select_dtype_int_exclude('int64') + 40.3±0.4μs 66.3±0.5μs 1.65 dtypes.SelectDtypes.time_select_dtype_float_exclude('float64') + 545±2ms 894±8ms 1.64 io.csv.ToCSVDatetimeBig.time_frame(100000) + 40.2±0.3μs 65.9±0.3μs 1.64 dtypes.SelectDtypes.time_select_dtype_bool_exclude('bool') + 47.2±0.8ms 77.2±0.4ms 1.64 replace.Convert.time_replace('DataFrame', 'Timedelta') + 1.25±0.02ms 2.04±0.03ms 1.64 timeseries.ResampleDataFrame.time_method('mean') + 47.9±0.7ms 77.1±0.4ms 1.61 replace.Convert.time_replace('DataFrame', 'Timestamp') + 6.11±0.04ms 9.83±0.03ms 1.61 io.csv.ToCSVDatetimeBig.time_frame(1000) + 55.4±0.4ms 88.9±0.2ms 1.61 io.csv.ToCSVDatetimeBig.time_frame(10000) + 8.93±0.3ms 14.3±0.1ms 1.60 eval.Eval.time_chained_cmp('python', 'all') + 1.54±0.03ms 2.31±0.02ms 1.50 timeseries.AsOf.time_asof_nan_single('DataFrame') + 11.6±0.05ms 17.3±0.1ms 1.50 eval.Eval.time_and('python', 'all') + 17.1±0.2ms 25.5±0.3ms 1.49 indexing.ChainIndexing.time_chained_indexing('warn') + 1.04±0.01ms 1.55±0.3ms 1.49 series_methods.NanOps.time_func('sum', 1000000, 'int8') + 13.1±0.06ms 18.2±0.08ms 1.40 io.hdf.HDFStoreDataFrame.time_query_store_table_wide + 3.39±0ms 4.67±0.06ms 1.38 timeseries.ResampleSeries.time_resample('datetime', '5min', 'ohlc') + 116±1μs 159±3μs 1.37 indexing.IndexSingleRow.time_iloc_row(True) + 1.57±0μs 2.13±0.03μs 1.36 indexing.GetItemSingleColumn.time_frame_getitem_single_column_label + 3.39±0.03ms 4.59±0.03ms 1.36 timeseries.ResampleSeries.time_resample('period', '5min', 'ohlc') + 1.47±0ms 1.99±0.3ms 1.35 series_methods.NanOps.time_func('prod', 1000000, 'int8') + 1.78±0.01ms 2.39±0.03ms 1.34 timeseries.AsOf.time_asof_single('DataFrame') + 125±2μs 163±4μs 1.30 indexing.IndexSingleRow.time_loc_row(True) + 115±1μs 149±4μs 1.30 indexing.IndexSingleRow.time_iloc_row(False) + 1.77±0.01μs 2.30±0.03μs 1.30 indexing.GetItemSingleColumn.time_frame_getitem_single_column_int + 143±0.9μs 185±2μs 1.29 indexing.DataFrameStringIndexing.time_boolean_rows + 148±1μs 191±2μs 1.29 indexing.DataFrameStringIndexing.time_boolean_rows_boolean + 124±2μs 159±2μs 1.28 indexing.IndexSingleRow.time_loc_row(False) + 190±1μs 240±0.7μs 1.26 indexing.NumericSeriesIndexing.time_loc_slice(, 'nonunique_monotonic_inc') + 193±3μs 240±3μs 1.25 hash_functions.NumericSeriesIndexing.time_loc_slice(, 1000000) + 110±0.9μs 137±0.4μs 1.24 hash_functions.NumericSeriesIndexing.time_loc_slice(, 500000) + 21.5±0.2μs 26.5±0.2μs 1.24 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 1.68±0ms 2.07±0.01ms 1.23 timeseries.ResampleDataFrame.time_method('max') + 21.2±0.2μs 26.2±0.3μs 1.23 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 44.3±0.1μs 54.4±0.3μs 1.23 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 21.4±0.07μs 26.3±0.3μs 1.23 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 181±1μs 223±2μs 1.23 indexing.DataFrameStringIndexing.time_boolean_rows_object + 44.2±0.2μs 54.3±0.4μs 1.23 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 44.1±0.2μs 54.1±0.3μs 1.23 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 21.3±0.2μs 26.0±0.1μs 1.22 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 21.3±0.2μs 25.9±0.2μs 1.21 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 45.1±0.4μs 54.6±0.4μs 1.21 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 45.2±0.6μs 54.7±0.4μs 1.21 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 37.0±0.5μs 44.8±0.4μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'nonunique_monotonic_inc') + 37.1±0.4μs 44.9±0.2μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'unique_monotonic_inc') + 37.0±0.2μs 44.8±0.3μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'non_monotonic') + 21.4±0.2μs 25.8±0.2μs 1.20 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 45.4±0.7μs 54.4±0.5μs 1.20 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 1.66±0.01ms 1.99±0.01ms 1.20 timeseries.ResampleDataFrame.time_method('min') + 26.6±0.3μs 31.8±0.1μs 1.20 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 47.5±0.5μs 56.8±0.1μs 1.20 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 35.8±0.2μs 42.8±0.09μs 1.20 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 49.9±0.1μs 59.6±0.1μs 1.19 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'unique_monotonic_inc') + 47.4±0.5μs 56.6±0.9μs 1.19 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 2.14±0.03μs 2.55±0.02μs 1.19 attrs_caching.DataFrameAttributes.time_set_index + 552±5ns 658±9ns 1.19 attrs_caching.SeriesArrayAttribute.time_array('datetime64tz') + 555±10ns 661±8ns 1.19 attrs_caching.SeriesArrayAttribute.time_array('category') + 41.5±0.1μs 49.4±0.2μs 1.19 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 61.6±0.3ms 73.2±1ms 1.19 io.style.Render.time_tooltips_render(24, 120) + 32.9±0.3μs 39.0±0.2μs 1.18 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'non_monotonic') + 43.9±0.1μs 52.0±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 210±2μs 249±1μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 26.8±0.2μs 31.7±0.3μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 36.5±0.4μs 43.1±0.2μs 1.18 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 26.8±0.1μs 31.6±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 26.7±0.1μs 31.5±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 33.0±0.8μs 38.8±0.07μs 1.18 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'nonunique_monotonic_inc') + 4.58±0.03μs 5.38±0.05μs 1.18 indexing.DataFrameStringIndexing.time_getitem_scalar + 38.5±0.2μs 45.2±0.5μs 1.17 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'unique_monotonic_inc') + 87.8±0.5ms 103±0.8ms 1.17 io.style.Render.time_tooltips_render(36, 120) + 7.19±0.05μs 8.40±0.07μs 1.17 indexing.DataFrameStringIndexing.time_loc + 49.8±0.3μs 58.1±0.5μs 1.17 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 39.2±0.6μs 45.5±0.8μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'non_monotonic') + 61.4±0.2μs 71.1±0.1μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'nonunique_monotonic_inc') + 33.3±0.5μs 38.5±0.3μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'unique_monotonic_inc') + 39.1±0.3μs 45.2±0.6μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'nonunique_monotonic_inc') + 43.3±0.2μs 50.0±0.08μs 1.15 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 53.5±0.2μs 61.8±0.2μs 1.15 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 57.6±0.4μs 66.4±0.6μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int8') + 37.2±0.4μs 42.9±0.6μs 1.15 timeseries.SortIndex.time_get_slice(False) + 60.6±0.2μs 69.8±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt16') + 27.8±0.1ms 32.0±0.2ms 1.15 io.hdf.HDF.time_write_hdf('fixed') + 1.72±0.1μs 1.97±0.3μs 1.15 index_cached_properties.IndexCache.time_values('PeriodIndex') + 60.5±0.2μs 69.4±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt16') + 61.5±1μs 70.5±0.4μs 1.15 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt32') + 36.6±0.08ms 42.0±0.6ms 1.15 io.style.Render.time_tooltips_render(12, 120) + 60.1±0.3μs 68.9±0.2μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt8') + 53.7±0.3μs 61.5±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 57.0±0.3μs 65.2±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int8') + 57.8±0.1μs 66.1±0.1μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int16') + 53.6±0.3μs 61.3±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 53.7±0.6μs 61.5±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 59.6±0.3μs 68.1±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int64') + 15.6±0.05ms 17.8±0.2ms 1.14 io.csv.ReadCSVThousands.time_thousands(',', None, 'c') + 58.5±0.5μs 66.9±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int32') + 61.4±0.2μs 70.2±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt32') + 58.1±0.2μs 66.4±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int16') + 60.1±0.7μs 68.6±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt8') + 61.4±0.4μs 70.1±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt32') + 53.9±0.8μs 61.5±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 60.2±0.4μs 68.7±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt8') + 60.2±0.2μs 68.6±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt8') + 57.3±0.3μs 65.2±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int8') + 61.6±0.2μs 70.2±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt32') + 61.0±0.2μs 69.4±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt16') + 59.7±0.2μs 67.9±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int64') + 58.0±0.1μs 66.1±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int16') + 58.6±0.2μs 66.7±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int32') + 53.8±0.2μs 61.2±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 57.4±0.5μs 65.3±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int8') + 62.1±0.2μs 70.6±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt64') + 62.3±0.3μs 70.8±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt64') + 59.8±0.09μs 67.9±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int64') + 25.5±0.09ms 28.9±0.1ms 1.14 rolling.Apply.time_rolling('Series', 3, 'float', , False) + 15.5±0.02ms 17.6±0.1ms 1.14 io.csv.ReadCSVThousands.time_thousands('|', None, 'c') + 85.4±0.3ms 96.9±2ms 1.14 io.json.ToJSON.time_to_json('split', 'df') + 62.1±0.5μs 70.5±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt64') + 44.0±0.5μs 49.9±0.2μs 1.13 dtypes.SelectDtypes.time_select_dtype_int_include() + 25.5±0.09ms 29.0±0.2ms 1.13 rolling.Apply.time_rolling('Series', 3, 'int', , False) + 62.0±0.4μs 70.3±0.3μs 1.13 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt64') + 25.7±0.3ms 29.0±0.2ms 1.13 rolling.Apply.time_rolling('DataFrame', 3, 'int', , False) + 25.6±0.2ms 28.9±0.4ms 1.13 rolling.Apply.time_rolling('DataFrame', 3, 'float', , False) + 44.5±0.2μs 50.2±0.1μs 1.13 dtypes.SelectDtypes.time_select_dtype_float_include() + 78.4±0.3ms 88.4±2ms 1.13 io.json.ToJSONWide.time_to_json('values', 'df') + 70.8±0.1μs 79.8±0.4μs 1.13 dtypes.SelectDtypes.time_select_dtype_int_exclude('m8[ns]') + 71.2±0.3μs 80.2±1μs 1.13 dtypes.SelectDtypes.time_select_dtype_float_exclude('int16') + 88.9±2ms 100±0.9ms 1.13 io.json.ToJSON.time_to_json('split', 'df_date_idx') + 59.3±0.9μs 66.6±0.2μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int32') + 77.3±0.5ms 86.7±1ms 1.12 io.json.ToJSON.time_to_json('values', 'df_date_idx') + 59.5±0.4μs 66.8±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int32') + 52.6±0.2μs 59.0±0.6μs 1.12 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 496±9ns 557±8ns 1.12 index_object.IntervalIndexMethod.time_is_unique(100000) + 70.9±0.1μs 79.5±0.9μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int64') + 71.0±0.3μs 79.5±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('float32') + 70.9±0.3μs 79.3±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('m8[ns]') + 23.7±0.3ms 26.5±0.1ms 1.12 io.style.Render.time_tooltips_render(36, 12) + 70.9±0.4μs 79.3±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('m8[ns]') + 70.9±0.3μs 79.3±0.8μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint64') + 76.9±0.7ms 86.0±0.5ms 1.12 io.json.ToJSON.time_to_json('values', 'df') + 70.8±0.3μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('M8[ns]') + 3.07±0ms 3.43±0.1ms 1.12 indexing.InsertColumns.time_assign_list_of_columns_concat + 70.8±0.3μs 79.1±0.7μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint16') + 70.9±0.3μs 79.3±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('m8[ns]') + 71.3±0.3μs 79.6±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('M8[ns]') + 70.9±0.2μs 79.3±0.8μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int8') + 71.1±0.3μs 79.5±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('int64') + 55.2±0.2μs 61.6±0.3μs 1.12 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'nonunique_monotonic_inc') + 70.8±0.2μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('bool') + 80.1±2ms 89.5±2ms 1.12 io.json.ToJSONWide.time_to_json('values', 'df_date_idx') + 70.8±0.2μs 79.0±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('int8') + 157±20ms 176±7ms 1.12 gil.ParallelGroupbyMethods.time_loop(8, 'count') + 70.9±0.3μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int32') + 70.7±0.3μs 78.9±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('int8') + 71.2±0.3μs 79.4±0.9μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('float32') + 70.9±0.4μs 79.1±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('bool') + 71.1±0.4μs 79.3±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('int64') + 70.7±0.3μs 78.8±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('bool') + 70.9±0.2μs 79.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint8') + 71.4±0.5μs 79.6±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('M8[ns]') + 71.2±0.3μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('float32') + 70.9±0.4μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint16') + 70.9±0.2μs 79.0±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint64') + 56.5±0.8μs 62.9±0.2μs 1.11 indexing.DataFrameNumericIndexing.time_loc + 70.9±0.4μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint8') + 70.9±0.3μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('complex128') + 71.2±0.4μs 79.2±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint16') + 71.1±0.5μs 79.1±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint32') + 72.7±0.7μs 81.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('datetime64[ns]') + 71.2±0.4μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('complex128') + 71.0±0.2μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint8') + 51.7±0.6μs 57.5±0.2μs 1.11 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 46.8±3ms 52.0±0.1ms 1.11 io.hdf.HDFStoreDataFrame.time_write_store_table_wide + 71.4±0.3μs 79.4±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('float32') + 71.1±0.3μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int8') + 71.1±0.5μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint32') + 72.6±0.5μs 80.6±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('datetime64[ns]') + 71.4±0.3μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('int16') + 71.3±0.5μs 79.2±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int32') + 71.3±0.4μs 79.2±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('M8[ns]') + 71.2±0.3μs 79.1±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('int32') + 71.0±0.5μs 78.8±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint8') + 71.2±0.2μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint64') + 71.0±0.2μs 78.8±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int16') + 71.3±0.5μs 79.1±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint32') + 71.2±0.3μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int16') + 71.2±0.4μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('complex128') + 71.5±0.3μs 79.3±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('complex64') + 87.4±3ms 97.0±2ms 1.11 io.json.ToJSONWide.time_to_json('records', 'df') + 71.4±0.3μs 79.2±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint32') + 71.5±0.6μs 79.2±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('float64') + 78.2±8ms 86.6±3ms 1.11 gil.ParallelGroupbyMethods.time_loop(4, 'count') + 71.1±0.2μs 78.8±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('int32') + 71.5±0.3μs 79.2±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint64') + 72.7±0.6μs 80.5±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('datetime64[ns]') + 71.3±0.5μs 78.9±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('complex128') + 72.3±0.3μs 80.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('timedelta64[ns]') + 51.5±0.3μs 56.9±0.4μs 1.11 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 71.3±0.5μs 78.7±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('float64') + 57.2±0.1μs 63.2±0.7μs 1.10 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 71.2±0.3μs 78.6±0.2μs 1.10 dtypes.SelectDtypes.time_select_dtype_int_exclude('complex64') + 71.4±0.5μs 78.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('complex64') + 49.2±0.7μs 54.3±0.3μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'non_monotonic') + 71.5±0.6μs 78.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_string_exclude('complex64') + 71.4±0.5μs 78.6±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint16') + 136±0.5ms 150±1ms 1.10 io.stata.StataMissing.time_read_stata('tc') + 73.0±0.5μs 80.4±0.3μs 1.10 dtypes.SelectDtypes.time_select_dtype_float_exclude('datetime64[ns]') + 72.6±0.7μs 79.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_string_exclude('timedelta64[ns]') + 77.8±0.3μs 85.5±0.2μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'non_monotonic') + 87.2±0.4ms 95.8±0.8ms 1.10 io.json.ToJSON.time_to_json('records', 'df') + 71.8±0.8μs 78.9±0.5μs 1.10 dtypes.SelectDtypes.time_select_dtype_int_exclude('float64') + 55.1±0.5μs 60.5±0.8μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'unique_monotonic_inc') + 136±0.6ms 149±1ms 1.10 io.stata.StataMissing.time_read_stata('tw') + 92.0±0.6ms 101±0.6ms 1.10 io.json.ToJSONWide.time_to_json('split', 'df_date_idx') + 32.7±0.2ms 35.8±0.03ms 1.10 rolling.Apply.time_rolling('Series', 300, 'float', , False) + 110±0.5ms 121±3ms 1.09 io.json.ToJSONWide.time_to_json('index', 'df_date_idx') + 65.3±0.5μs 71.3±0.5μs 1.09 indexing.DataFrameNumericIndexing.time_iloc + 131±1ms 142±2ms 1.09 io.stata.StataMissing.time_read_stata('td') + 133±1ms 144±0.9ms 1.09 io.stata.StataMissing.time_read_stata('tm') + 85.4±0.6μs 92.7±0.2μs 1.09 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'nonunique_monotonic_inc') + 32.8±0.08ms 35.6±0.1ms 1.09 rolling.Apply.time_rolling('Series', 300, 'int', , False) + 88.1±0.8ms 95.5±1ms 1.08 io.json.ToJSONWide.time_to_json('split', 'df') + 5.09±0.04μs 5.52±0.1μs 1.08 indexing.NonNumericSeriesIndexing.time_getitem_scalar('period', 'non_monotonic') + 104±0.5ms 113±0.6ms 1.08 io.json.ToJSON.time_to_json('index', 'df') + 103±2ms 112±1ms 1.08 io.json.ToJSONWide.time_to_json('index', 'df') + 13.5±0.05ms 14.6±0.03ms 1.08 io.csv.ReadCSVSkipRows.time_skipprows(10000, 'c') + 14.5±0.04ms 15.6±0.07ms 1.08 io.style.Render.time_tooltips_render(12, 12) + 1.12±0s 1.21±0.02s 1.08 strings.Dummies.time_get_dummies('string[pyarrow]') + 134±0.6ms 145±1ms 1.08 io.stata.StataMissing.time_read_stata('tq') + 3.20±0.01ms 3.45±0.02ms 1.08 series_methods.NanOps.time_func('std', 1000000, 'int8') + 84.0±0.7μs 90.7±0.4μs 1.08 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'unique_monotonic_inc') + 53.1±0.3μs 57.3±0.1μs 1.08 dtypes.SelectDtypes.time_select_dtype_bool_include() + 256±0.9ns 276±6ns 1.08 timeseries.DatetimeIndex.time_is_dates_only('dst') + 128±2μs 137±3μs 1.08 indexing.IntervalIndexing.time_getitem_list + 33.1±0.3ms 35.6±0.1ms 1.08 rolling.Apply.time_rolling('DataFrame', 300, 'float', , False) + 1.10±0.01s 1.18±0s 1.08 strings.Dummies.time_get_dummies('str') + 137±0.9ms 147±2ms 1.07 io.json.ToJSONLines.time_floats_with_int_idex_lines + 4.43±0.05μs 4.75±0.05μs 1.07 indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'non_monotonic') + 89.5±0.6ms 96.0±0.9ms 1.07 io.json.ToJSON.time_to_json('records', 'df_date_idx') + 177±20ms 190±5ms 1.07 gil.ParallelGroupbyMethods.time_loop(8, 'mean') + 33.0±0.2ms 35.4±0.07ms 1.07 rolling.Apply.time_rolling('DataFrame', 300, 'int', , False) + 145±0.6μs 155±2μs 1.07 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 100000) + 80.9±8ms 86.7±1ms 1.07 gil.ParallelGroupbyMethods.time_loop(4, 'last') + 134±1ms 144±2ms 1.07 io.stata.StataMissing.time_read_stata('th') + 2.53±0.07μs 2.71±0.05μs 1.07 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(0, 'end', 'year', 'QS', 12) + 59.1±0.2μs 63.2±0.2μs 1.07 dtypes.SelectDtypes.time_select_dtype_int_include('Int64') + 1.11±0.01s 1.19±0s 1.07 strings.Dummies.time_get_dummies('string[python]') + 2.53±0.03μs 2.70±0.05μs 1.07 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'quarter', None, 5) + 6.91±0.2μs 7.36±0.07μs 1.07 tslibs.timestamp.TimestampProperties.time_is_quarter_start(None, 'B') + 70.6±0.3μs 75.2±0.7μs 1.07 dtypes.SelectDtypes.time_select_dtype_float_include('float64') + 88.2±9ms 93.9±1ms 1.06 gil.ParallelGroupbyMethods.time_loop(4, 'sum') + 26.1±0.1ms 27.8±0.05ms 1.06 io.hdf.HDF.time_read_hdf('fixed') + 3.21±0.01ms 3.41±0.03ms 1.06 series_methods.NanOps.time_func('var', 1000000, 'int8') + 6.11±0.02μs 6.49±0.05μs 1.06 indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'unique_monotonic_inc') + 11.2±0.1ms 11.9±0.09ms 1.06 io.style.Render.time_apply_render(36, 12) + 16.0±0.2μs 16.9±0.2μs 1.06 indexing.NonNumericSeriesIndexing.time_getitem_scalar('datetime', 'nonunique_monotonic_inc') + 2.51±0.02μs 2.66±0.01μs 1.06 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 12) + 137±2ms 145±0.5ms 1.06 io.json.ToJSONLines.time_floats_with_dt_index_lines + 7.18±0.01ms 7.61±0.1ms 1.06 series_methods.NanOps.time_func('sem', 1000000, 'int8') + 170±20ms 180±5ms 1.06 gil.ParallelGroupbyMethods.time_loop(8, 'min') + 81.8±9ms 86.6±0.7ms 1.06 gil.ParallelGroupbyMethods.time_loop(4, 'prod') + 147±1μs 156±3μs 1.06 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 100000) + 70.3±0.2μs 74.4±0.5μs 1.06 dtypes.SelectDtypes.time_select_dtype_bool_include('bool') + 70.3±0.2μs 74.3±0.3μs 1.06 dtypes.SelectDtypes.time_select_dtype_int_include('int64') + 2.51±0.02μs 2.65±0.02μs 1.06 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 3) + 2.91±0.04μs 3.07±0.02μs 1.05 series_methods.SeriesGetattr.time_series_datetimeindex_repr + 2.55±0.02μs 2.69±0.07μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(0, 'end', 'quarter', 'QS', 5) + 5.20±0.09μs 5.47±0.02μs 1.05 indexing.NumericSeriesIndexing.time_getitem_scalar(, 'unique_monotonic_inc') + 254±2ns 268±1ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_local') + 8.62±0.05ms 9.07±0.1ms 1.05 io.style.Render.time_format_render(36, 12) + 2.56±0.03μs 2.69±0.01μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'start', 'month', 'QS', 5) + 288±3ns 303±1ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_naive') + 28.8±0.1ms 30.2±0.2ms 1.05 io.style.Render.time_apply_render(12, 120) + 1.36±0μs 1.43±0.02μs 1.05 attrs_caching.SeriesArrayAttribute.time_extract_array_numpy('object') + 2.64±0.03μs 2.77±0.04μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'quarter', 'QS', 5) + 254±0.7ns 265±2ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_aware') + 1.34±0.01μs 1.41±0.02μs 1.05 attrs_caching.SeriesArrayAttribute.time_extract_array('datetime64') + 5.35±0.03μs 5.59±0.01μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply() + 2.55±0.02μs 2.65±0.04μs 1.04 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 5) + 4.50±0.03ms 4.68±0.03ms 1.04 io.csv.ReadCSVParseSpecialDate.time_read_special_date('mdY', 'c') + 45.0±0.2μs 46.8±0.2μs 1.04 indexing.NumericSeriesIndexing.time_iloc_list_like(, 'nonunique_monotonic_inc') + 9.10±0.06ms 9.46±0.05ms 1.04 inference.ToDatetimeISO8601.time_iso8601_infer_zero_tz_fromat + 5.57±0.02μs 5.79±0.07μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply_np_dt64() + 13.2±0.3μs 13.7±0.06μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply_np_dt64() + 2.63±0.04μs 2.73±0.02μs 1.04 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', 'QS', 12) + 1.36±0.01μs 1.41±0.01μs 1.04 attrs_caching.SeriesArrayAttribute.time_extract_array('category') + 6.02±0.2μs 6.24±0.1μs 1.04 index_cached_properties.IndexCache.time_engine('DatetimeIndex') + 24.8±0.1ms 25.7±0.07ms 1.04 gil.ParallelGroupbyMethods.time_parallel(2, 'last') + 11.2±0.08ms 11.6±0.05ms 1.04 algorithms.Hashing.time_series_string + 315±0.5ms 326±5ms 1.03 io.json.ReadJSONLines.time_read_json_lines('datetime') + 83.0±0.2ms 85.9±0.6ms 1.03 io.hdf.HDF.time_write_hdf('table') + 259±0.2ms 268±6ms 1.03 io.json.ReadJSON.time_read_json('records', 'int') + 270±2μs 280±1μs 1.03 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 1.36±0.01μs 1.41±0.01μs 1.03 attrs_caching.SeriesArrayAttribute.time_extract_array_numpy('datetime64tz') + 23.3±0.1μs 24.1±0.1μs 1.03 tslibs.offsets.OffestDatetimeArithmetic.time_apply() + 1.30±0.01μs 1.34±0μs 1.03 tslibs.offsets.OnOffset.time_on_offset() + 1.05±0.03μs 1.09±0.04μs 1.03 index_cached_properties.IndexCache.time_is_monotonic_decreasing('Int64Index') + 26.7±0.2ms 27.5±0.07ms 1.03 gil.ParallelGroupbyMethods.time_parallel(2, 'sum') + 5.43±0.04μs 5.58±0.03μs 1.03 tslibs.offsets.OffestDatetimeArithmetic.time_add_10() + 1.46±0.01μs 1.50±0.01μs 1.03 tslibs.timestamp.TimestampConstruction.time_from_datetime_aware + 153±1μs 157±0.7μs 1.03 period.Algorithms.time_drop_duplicates('series') + 1.19±0.02ms 1.22±0.02ms 1.03 index_cached_properties.IndexCache.time_engine('MultiIndex') + 431±1ns 442±2ns 1.03 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'non_monotonic', True, 2000000) + 5.23±0.02ms 5.36±0.01ms 1.02 indexing.DataFrameNumericIndexing.time_bool_indexer + 146±0.5μs 149±0.6μs 1.02 tslibs.period.PeriodProperties.time_property('M', 'end_time') + 402±0.6ns 411±1ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc((, ), 'monotonic_decr', True, 100000) + 7.01±0.1ms 7.15±0.1ms 1.02 index_cached_properties.IndexCache.time_is_all_dates('CategoricalIndex') + 101±0.1ms 103±0.4ms 1.02 rolling.Apply.time_rolling('Series', 3, 'int', , False) + 5.94±0.01ms 6.06±0.01ms 1.02 io.hdf.HDFStoreDataFrame.time_read_store_table + 71.6±0.3ms 73.0±0.3ms 1.02 rolling.Apply.time_rolling('DataFrame', 300, 'float', , False) + 4.62±0.02ms 4.71±0.06ms 1.02 ctors.SeriesConstructors.time_series_constructor(, False, 'float') + 414±2ns 422±2ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'non_monotonic', True, 100000) + 414±1ns 422±2ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_decr', True, 100000) + 90.6±0.2μs 92.3±0.5μs 1.02 tslibs.timestamp.TimestampOps.time_floor(datetime.timezone.utc) + 73.0±0.5ms 74.3±0.1ms 1.02 rolling.Apply.time_rolling('DataFrame', 300, 'int', at 0x7ff1b2310940>, False) + 4.62±0.03ms 4.70±0.05ms 1.02 ctors.SeriesConstructors.time_series_constructor(, False, 'int') + 79.5±0.3μs 80.9±0.7μs 1.02 tslibs.timestamp.TimestampOps.time_floor(None) + 71.8±0.2ms 72.9±0.1ms 1.02 rolling.Apply.time_rolling('Series', 300, 'float', , False) + 68.5±0.7μs 69.6±0.7μs 1.02 ctors.SeriesConstructors.time_series_constructor(, True, 'float') + 73.1±0.2ms 74.2±0.2ms 1.02 rolling.Apply.time_rolling('Series', 300, 'int', at 0x7ff1b2310940>, False) + 4.22±0.03ms 4.28±0.06ms 1.01 ctors.SeriesConstructors.time_series_constructor(, True, 'float') + 73.2±0.2ms 74.2±0.2ms 1.01 rolling.Apply.time_rolling('Series', 300, 'float', at 0x7ff1b2310940>, False) + 804±9μs 815±9μs 1.01 ctors.SeriesConstructors.time_series_constructor(, True, 'int') + 103±0.3ms 105±0.04ms 1.01 rolling.Apply.time_rolling('Series', 3, 'float', at 0x7ff1b2310940>, False) - 128±1ms 127±0.8ms 0.99 index_cached_properties.IndexCache.time_engine('IntervalIndex') - 535±2μs 529±2μs 0.99 indexing.CategoricalIndexIndexing.time_get_indexer_list('monotonic_decr') - 5.39±0.01ms 5.33±0ms 0.99 rolling.Methods.time_method('Series', ('rolling', {'window': 1000}), 'float', 'count') - 219±7μs 217±7μs 0.99 index_cached_properties.IndexCache.time_is_monotonic('UInt64Index') - 55.2±0.09ms 54.6±0.05ms 0.99 strings.Cat.time_cat(3, None, '-', 0.0) - 1.68±0.02ms 1.66±0.01ms 0.99 index_cached_properties.IndexCache.time_is_all_dates('RangeIndex') - 2.32±0.04ms 2.29±0.02ms 0.99 index_cached_properties.IndexCache.time_is_all_dates('IntervalIndex') - 48.4±0.1ms 47.8±0.1ms 0.99 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float64', 5, 'monotone_misses') - 129±1ms 127±0.7ms 0.99 index_cached_properties.IndexCache.time_is_monotonic_increasing('IntervalIndex') - 840±2ns 828±5ns 0.99 dtypes.Dtypes.time_pandas_dtype() - 4.12±0.2ms 4.06±0.03ms 0.98 index_cached_properties.IndexCache.time_is_unique('MultiIndex') - 33.1±0.1ms 32.5±0.2ms 0.98 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float32', 5, 'random_misses') - 33.0±0.2ms 32.5±0.1ms 0.98 rolling.Rank.time_rank('Series', 10, 'float', True, False, 'min') - 49.5±0.1μs 48.7±0.2μs 0.98 series_methods.NanOps.time_func('sum', 1000, 'float64') - 889±4μs 874±7μs 0.98 frame_ctor.FromRecords.time_frame_from_records_generator(1000) - 217±0.6ns 213±3ns 0.98 libs.ScalarListLike.time_is_scalar(array('123', dtype=', ), 'monotonic_decr', True, 100000) - 3.61±0.01ms 3.53±0.02ms 0.98 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'midpoint') - 844±4ns 824±2ns 0.98 dtypes.Dtypes.time_pandas_dtype() - 34.2±0.2ms 33.4±0.2ms 0.98 rolling.Methods.time_method('Series', ('rolling', {'window': 10}), 'int', 'median') - 20.1±0.2μs 19.7±0.1μs 0.98 series_methods.NanOps.time_func('argmax', 1000, 'int8') - 660±4ns 644±2ns 0.98 tslibs.timestamp.TimestampOps.time_to_pydatetime(tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 29.4±0.1μs 28.7±0.2μs 0.98 series_methods.NanOps.time_func('prod', 1000, 'int32') - 506±1ns 494±2ns 0.98 tslibs.timestamp.TimestampProperties.time_dayofweek(, None) - 54.9±0.1ms 53.6±0.2ms 0.98 io.csv.ReadCSVSkipRows.time_skipprows(10000, 'python') - 3.80±0.01ms 3.70±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'min') - 33.5±0.08ms 32.6±0.1ms 0.97 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float32', 5, 'monotone_misses') - 4.28±0.01ms 4.17±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'kurt') - 3.81±0.02ms 3.71±0.02ms 0.97 libs.InferDtype.time_infer_dtype('py-object') - 2.89±0ms 2.81±0.01ms 0.97 indexing.IntervalIndexing.time_getitem_scalar - 1.74±0.01ms 1.70±0ms 0.97 rolling.Pairwise.time_pairwise(({'window': 1000}, 'rolling'), 'corr', False) - 4.28±0.02ms 4.17±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'kurt') - 217±0.5ns 211±3ns 0.97 libs.ScalarListLike.time_is_scalar((1, 2, 3)) - 2.80±0.01ms 2.72±0ms 0.97 series_methods.NSort.time_nlargest('all') - 175±1ms 170±2ms 0.97 strings.Extract.time_extract_single_group('string[pyarrow]', True) - 4.05±0.02ms 3.94±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'min') - 3.66±0.01ms 3.56±0.02ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'nearest') - 4.09±0.01ms 3.98±0.03ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'max') - 7.00±0.08μs 6.80±0.08μs 0.97 tslibs.period.TimeDT64ArrToPeriodArr.time_dt64arr_to_periodarr(0, 2000, tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 21.2±0.1ms 20.6±0.2ms 0.97 io.sql.WriteSQLDtypes.time_to_sql_dataframe_column('sqlite', 'float_with_nan') - 4.08±0.01ms 3.96±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'max') - 3.76±0.01ms 3.64±0ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'max') - 5.53±0.03ms 5.37±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'count') - 10.7±0.06μs 10.4±0.03μs 0.97 timedelta.TimedeltaIndexing.time_series_loc - 1.28±0.01ms 1.24±0.01ms 0.97 rolling.Pairwise.time_pairwise(({'window': 10}, 'rolling'), 'cov', False) - 3.69±0.01ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'skew') - 3.66±0.01ms 3.55±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'linear') - 3.62±0.02ms 3.51±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'nearest') - 4.20±0.01ms 4.08±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'max') - 3.97±0.01ms 3.85±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'min') - 3.69±0.02ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'min') - 3.56±0.01ms 3.45±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'std') - 4.15±0.03ms 4.02±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'min') - 144±1ms 140±0.5ms 0.97 plotting.FramePlotting.time_frame_plot('hist') - 634±4μs 615±0.5μs 0.97 indexing.NonNumericSeriesIndexing.time_getitem_list_like('datetime', 'nonunique_monotonic_inc') - 4.05±0.01ms 3.93±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'min') - 3.66±0.02ms 3.55±0ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'midpoint') - 3.67±0.01ms 3.55±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'max') - 3.69±0.02ms 3.57±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'higher') - 2.66±0.02ms 2.58±0.02ms 0.97 io.csv.ReadCSVParseDates.time_multiple_date('python') - 2.62±0.01ms 2.54±0.01ms 0.97 series_methods.NSort.time_nlargest('last') - 3.74±0.03ms 3.62±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'max') - 3.63±0.02ms 3.51±0.02ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'linear') - 4.02±0.01ms 3.89±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'max') - 3.86±0.01ms 3.74±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'max') - 5.48±0.02ms 5.30±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'count') - 19.9±0.1ms 19.2±0.1ms 0.97 io.sql.WriteSQLDtypes.time_to_sql_dataframe_column('sqlite', 'int') - 3.70±0.01ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'skew') - 3.99±0.03ms 3.86±0.01ms 0.97 io.csv.ReadCSVFloatPrecision.time_read_csv_python_engine(';', '.', None) - 4.63±0.02ms 4.48±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'kurt') - 3.74±0.02ms 3.61±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'midpoint') - 9.14±0.1μs 8.84±0.02μs 0.97 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(100, tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 3.69±0.01ms 3.56±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'higher') - 3.36±0.02ms 3.24±0.01ms 0.97 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'min') - 3.57±0.01ms 3.45±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'std') - 4.54±0.02ms 4.38±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'kurt') - 3.99±0.02ms 3.85±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'max') - 3.64±0.02ms 3.51±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'min') - 3.13±0.01ms 3.02±0.02ms 0.97 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'max') - 4.03±0ms 3.89±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'min') - 28.2±0.1ms 27.2±0.3ms 0.96 rolling.Groupby.time_method('sum', ('rolling', {'window': '30s', 'on': 'C'})) - 9.80±0.08ms 9.45±0.04ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'sem') - 2.32±0.02ms 2.24±0.02ms 0.96 io.csv.ReadCSVParseDates.time_multiple_date('c') - 4.04±0.03ms 3.89±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'skew') - 3.34±0.01ms 3.23±0.01ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'max') - 3.30±0.01ms 3.19±0ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'min') - 2.83±0.01ms 2.73±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'skew') - 2.43±0.01ms 2.34±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'linear') - 3.97±0.01ms 3.83±0ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'skew') - 9.89±0.06ms 9.53±0.06ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'sem') - 3.41±0.2μs 3.29±0.2μs 0.96 index_cached_properties.IndexCache.time_values('TimedeltaIndex') - 4.65±0.01ms 4.48±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'kurt') - 3.52±0.07ms 3.39±0.02ms 0.96 index_cached_properties.IndexCache.time_is_unique('Float64Index') - 1.41±0.01ms 1.36±0.01ms 0.96 rolling.Apply.time_rolling('DataFrame', 3, 'int', , True) - 4.42±0.03ms 4.26±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'kurt') - 2.57±0.01ms 2.48±0.04ms 0.96 series_methods.NSort.time_nsmallest('all') - 5.59±0.07ms 5.38±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'count') - 4.03±0.02ms 3.88±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'skew') - 6.28±0.02ms 6.05±0.02ms 0.96 index_object.SetOperations.time_operation('int', 'symmetric_difference') - 12.4±0.03μs 11.9±0.04μs 0.96 tslibs.tz_convert.TimeTZConvert.time_tz_localize_to_utc(1, tzlocal()) - 2.42±0.02μs 2.33±0.01μs 0.96 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_decr', True, 2000000) - 22.5±0.3μs 21.6±0.1μs 0.96 series_methods.All.time_all(1000, 'fast', 'bool') - 3.48±0.02ms 3.34±0.02ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'std') - 3.75±0.02ms 3.60±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'linear') - 9.87±0.1ms 9.48±0.04ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'sem') - 3.43±0.02ms 3.30±0.01ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'max') - 35.5±0.5μs 34.1±0.3μs 0.96 series_methods.NanOps.time_func('argmax', 1000, 'float64') - 30.2±0.5μs 28.9±0.1μs 0.96 series_methods.NanOps.time_func('prod', 1000, 'int8') - 3.71±0.03ms 3.56±0.02ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'midpoint') - 2.30±0.01ms 2.21±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'lower') - 77.8±0.4ms 74.6±0.6ms 0.96 io.csv.ReadCSVSkipRows.time_skipprows(None, 'python') - 2.44±0ms 2.33±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'nearest') - 3.33±0.01ms 3.20±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'std') - 2.46±0.01ms 2.36±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'lower') - 2.47±0.01ms 2.36±0ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'linear') - 3.09±0.01ms 2.96±0.03ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'min') - 87.9±0.3ms 84.1±0.7ms 0.96 strings.Methods.time_partition('str') - 3.26±0.02ms 3.12±0.02ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'kurt') - 3.70±0.2μs 3.54±0.2μs 0.96 index_cached_properties.IndexCache.time_values('UInt64Index') - 2.43±0.01ms 2.32±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'midpoint') - 2.18±0.01ms 2.08±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'mean') - 79.8±0.9μs 76.2±0.6μs 0.96 indexing.DataFrameNumericIndexing.time_iloc_dups - 2.47±0.01ms 2.36±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'higher') - 1.05±0.05μs 1.01±0.03μs 0.95 index_cached_properties.IndexCache.time_is_monotonic_decreasing('RangeIndex') - 3.80±0.2μs 3.62±0.2μs 0.95 index_cached_properties.IndexCache.time_inferred_type('IntervalIndex') - 2.46±0.01ms 2.35±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'nearest') - 2.44±0.02ms 2.33±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'higher') - 170±0.7ms 162±0.5ms 0.95 io.stata.Stata.time_write_stata('tw') - 2.33±0.01ms 2.22±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'higher') - 2.76±0.05μs 2.63±0.01μs 0.95 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('datetime', 1, None) - 2.34±0.06μs 2.23±0.08μs 0.95 index_cached_properties.IndexCache.time_shape('DatetimeIndex') - 2.34±0.01ms 2.23±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'midpoint') - 2.33±0.02ms 2.22±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'linear') - 7.43±0.4μs 7.08±0.3μs 0.95 index_cached_properties.IndexCache.time_inferred_type('Float64Index') - 2.15±0.01ms 2.05±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'mean') - 35.9±0.3ms 34.2±0.7ms 0.95 io.sql.SQL.time_read_sql_query('sqlalchemy') - 602±10μs 573±20μs 0.95 index_cached_properties.IndexCache.time_is_monotonic('MultiIndex') - 2.34±0ms 2.22±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'nearest') - 3.23±0.01ms 3.07±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'std') - 2.39±0.02ms 2.27±0.01ms 0.95 series_methods.NSort.time_nsmallest('first') - 207M 197M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_int_floats') - 2.26±0ms 2.15±0.01ms 0.95 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'std'), 'float') - 10.9±0.5μs 10.4±0.3μs 0.95 index_cached_properties.IndexCache.time_engine('UInt64Index') - 3.25±0.02ms 3.09±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'std') - 2.44±0ms 2.32±0.04ms 0.95 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'std'), 'int') - 2.16±0.04μs 2.05±0.01μs 0.95 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(100, datetime.timezone.utc) - 2.33±0.01ms 2.22±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'lower') - 208M 198M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_int_float_str') - 203M 193M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_td_int_ts') - 11.1±0.4μs 10.5±0.3μs 0.95 index_cached_properties.IndexCache.time_engine('TimedeltaIndex') - 2.50±0.01ms 2.37±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'mean') - 22.6±0.3μs 21.4±0.2μs 0.95 series_methods.Any.time_any(1000, 'slow', 'bool') - 2.51±0ms 2.38±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'mean') - 2.44±0.01ms 2.32±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'sum') - 611±2μs 580±6μs 0.95 indexing.NonNumericSeriesIndexing.time_getitem_list_like('string', 'nonunique_monotonic_inc') - 2.65±0.02ms 2.51±0.02ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'mean') - 2.30±0.01ms 2.18±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'mean') - 197M 187M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_int_floats') - 197M 187M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_int_floats') - 3.62±0.2μs 3.43±0.2μs 0.95 index_cached_properties.IndexCache.time_values('Float64Index') - 2.98±0.01ms 2.82±0.01ms 0.95 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'kurt') - 2.97±0.01ms 2.81±0ms 0.95 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'kurt') - 3.39±0.03ms 3.21±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'kurt') - 2.32±0.04ms 2.19±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'higher') - 198M 188M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_int_float_str') - 198M 188M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_int_float_str') - 193M 183M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_td_int_ts') - 193M 183M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_td_int_ts') - 603±10μs 571±20μs 0.95 index_cached_properties.IndexCache.time_is_monotonic_increasing('MultiIndex') - 15.9±0.3ms 15.1±0.1ms 0.95 io.csv.ReadCSVParseSpecialDate.time_read_special_date('hm', 'python') - 3.26±0.03ms 3.09±0.02ms 0.95 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'min') - 2.33±0.04ms 2.20±0.02ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'linear') - 35.0±1μs 33.1±0.2μs 0.95 tslibs.timestamp.TimestampOps.time_replace_tz() - 2.64±0.02ms 2.50±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'mean') - 3.27±0.03μs 3.10±0.05μs 0.95 index_object.Indexing.time_get_loc_sorted('Int') - 2.15±0.01ms 2.03±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'std') - 6.57±0.04μs 6.20±0.2μs 0.94 tslibs.timestamp.TimestampOps.time_replace_None() - 2.04±0.05μs 1.92±0.01μs 0.94 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(1, datetime.timezone.utc) - 2.15±0.01ms 2.03±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'max') - 2.46±0.02ms 2.33±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'sum') - 2.32±0.01ms 2.19±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'sum') - 1.69±0.08μs 1.60±0.1μs 0.94 index_cached_properties.IndexCache.time_inferred_type('PeriodIndex') - 181M 170M 0.94 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_td_int_ts') - 2.99±0.02ms 2.82±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'skew') - 181M 170M 0.94 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_td_int_ts') - 3.26±0.01μs 3.07±0.04μs 0.94 index_object.Indexing.time_get_loc('Int') - 2.34±0ms 2.21±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'sum') - 3.14±0.1ms 2.96±0.03ms 0.94 index_cached_properties.IndexCache.time_is_unique('DatetimeIndex') - 1.83±0.01ms 1.72±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'mean') - 76.6±0.4μs 72.1±0.4μs 0.94 series_methods.ToFrame.time_to_frame('Int64', None) - 2.38±0.08μs 2.24±0.01μs 0.94 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_incr', False, 100000) - 2.33±0.01ms 2.19±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'sum') - 1.98±0.01ms 1.86±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'min') - 76.6±0.1μs 72.0±0.2μs 0.94 series_methods.ToFrame.time_to_frame('int64', None) - 77.6±0.8μs 73.0±0.1μs 0.94 series_methods.ToFrame.time_to_frame('category', None) - 1.99±0.04ms 1.87±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'sum') - 2.33±0.03μs 2.19±0.05μs 0.94 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('time', 1, datetime.timezone.utc) - 2.26±0.01ms 2.12±0.01ms 0.94 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'std'), 'float') - 852±50ns 799±20ns 0.94 index_cached_properties.IndexCache.time_shape('Int64Index') - 10.9±0.06ms 10.2±0.02ms 0.94 io.csv.ReadCSVConcatDatetimeBadDateValue.time_read_csv('0') - 2.05±0.01ms 1.92±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'std') - 3.17±0.2μs 2.97±0.2μs 0.94 index_cached_properties.IndexCache.time_values('CategoricalIndex') - 4.32±0.2μs 4.05±0.2μs 0.94 index_cached_properties.IndexCache.time_shape('IntervalIndex') - 841±40ns 788±40ns 0.94 index_cached_properties.IndexCache.time_shape('RangeIndex') - 6.40±0.08μs 6.00±0.1μs 0.94 tslibs.timestamp.TimestampOps.time_replace_None(tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 2.44±0ms 2.28±0.02ms 0.94 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'std'), 'int') - 165±0.9ms 154±0.3ms 0.94 strings.Split.time_split('str', True) - 2.15±0.03ms 2.01±0ms 0.93 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'sum') - 77.7±0.9μs 72.6±0.1μs 0.93 series_methods.ToFrame.time_to_frame('category', 'foo') - 1.80±0.2μs 1.68±0.07μs 0.93 index_cached_properties.IndexCache.time_values('DatetimeIndex') - 3.39±0.2μs 3.17±0.2μs 0.93 index_cached_properties.IndexCache.time_values('IntervalIndex') - 2.01±0.01ms 1.87±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'sum') - 1.96±0.02ms 1.83±0ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'mean') - 1.29±0.01ms 1.20±0.01ms 0.93 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'mean'), 'int') - 5.68±0.05ms 5.30±0.04ms 0.93 indexing.MultiIndexing.time_index_slice - 2.55±0.03μs 2.38±0.02μs 0.93 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('time', 1, None) - 212M 198M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_int_floats') - 3.77±0.2μs 3.52±0.2μs 0.93 index_cached_properties.IndexCache.time_inferred_type('CategoricalIndex') - 207M 193M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_date_idx') - 206M 192M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_date_idx') - 213M 199M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_int_float_str') - 210M 196M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_td_int_ts') - 208M 193M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_int_floats') - 204M 190M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_int_floats') - 208M 194M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_int_float_str') - 1.96±0.03ms 1.82±0.01ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'mean') - 199M 185M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df') - 199M 185M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_date_idx') - 204M 189M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_td_int_ts') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_date_idx') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_date_idx') - 1.69±0.01ms 1.57±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'sum') - 197M 183M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df') - 196M 182M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df') - 200M 186M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_td_int_ts') - 1.61±0.01ms 1.50±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'mean') - 195M 181M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df') - 195M 181M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_date_idx') - 205M 190M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_int_float_str') - 1.65±0.01ms 1.53±0ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'sum') - 194M 180M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_date_idx') - 4.44±0.2μs 4.11±0.1μs 0.93 index_cached_properties.IndexCache.time_engine('PeriodIndex') - 196M 182M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_int_floats') - 1.29±0.01ms 1.19±0.01ms 0.93 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'mean'), 'int') - 1.65±0.01ms 1.52±0.01ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'sum') - 188M 174M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df') - 187M 173M 0.93 io.json.ToJSONWide.peakmem_to_json('values', 'df') - 197M 182M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_int_float_str') - 1.55±0.01ms 1.44±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'sum') - 187M 173M 0.93 io.json.ToJSONWide.peakmem_to_json('values', 'df_date_idx') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_date_idx') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_int_floats') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_date_idx') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_int_floats') - 207M 192M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_int_float_str') - 190M 176M 0.92 io.json.ToJSONWide.peakmem_to_json('split', 'df_td_int_ts') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_int_floats') - 206M 191M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_int_floats') - 1.74±0.01ms 1.61±0.01ms 0.92 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'mean') - 203M 188M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_date_idx') - 204M 188M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_td_int_ts') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_td_int_ts') - 190M 176M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_int_float_str') - 190M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_int_float_str') - 4.05±0.2μs 3.74±0.2μs 0.92 index_cached_properties.IndexCache.time_shape('Float64Index') - 2.16±0.03ms 1.99±0.01ms 0.92 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'sum') - 3.63±0.1μs 3.35±0.1μs 0.92 index_cached_properties.IndexCache.time_inferred_type('MultiIndex') - 202M 186M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_int_float_str') - 202M 186M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_int_floats') - 7.97±0.3μs 7.36±0.3μs 0.92 index_cached_properties.IndexCache.time_inferred_type('UInt64Index') - 808±40ns 745±4ns 0.92 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(100, 12000) - 199M 183M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_int_float_str') - 190M 175M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_int_float_str') - 198M 183M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_int_floats') - 195M 180M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df') - 197M 181M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_td_int_ts') - 195M 179M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_date_idx') - 193M 178M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df') - 193M 178M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_td_int_ts') - 190M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_date_idx') - 191M 176M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df') - 191M 176M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_date_idx') - 190M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_int_floats') - 1.17±0ms 1.08±0ms 0.92 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'mean'), 'float') - 191M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_int_float_str') - 3.98±0.2μs 3.66±0.1μs 0.92 index_cached_properties.IndexCache.time_shape('CategoricalIndex') - 184M 169M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df') - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df') - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_date_idx') - 1.18±0ms 1.08±0ms 0.92 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'mean'), 'float') - 122±0.7ms 112±0.6ms 0.92 strings.Split.time_rsplit('str', True) - 184M 169M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_int_float_str') - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_int_floats') - 183M 168M 0.91 io.json.ToJSON.peakmem_to_json('split', 'df_td_int_ts') - 180M 165M 0.91 io.json.ToJSON.peakmem_to_json('values', 'df_td_int_ts') - 1.81±0.03ms 1.65±0.01ms 0.91 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'sum') - 834±40ns 761±5ns 0.91 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(1000000, 12000) - 4.17±0.2μs 3.80±0.2μs 0.91 index_cached_properties.IndexCache.time_shape('UInt64Index') - 70.6±0.7μs 64.4±0.6μs 0.91 timeseries.SortIndex.time_sort_index(True) - 36.2±0.3ms 33.0±0.1ms 0.91 rolling.GroupbyLargeGroups.time_rolling_multiindex_creation - 29.1±0.5ms 26.6±0.2ms 0.91 io.sql.SQL.time_read_sql_query('sqlite') - 79.2±0.5μs 72.1±0.3μs 0.91 series_methods.ToFrame.time_to_frame('datetime64[ns]', None) - 900±80ns 819±40ns 0.91 index_cached_properties.IndexCache.time_is_monotonic('RangeIndex') - 835±40ns 759±3ns 0.91 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(10000, 12000) - 79.2±0.3μs 71.9±0.3μs 0.91 series_methods.ToFrame.time_to_frame('datetime64[ns]', 'foo') - 4.19±0.2μs 3.80±0.2μs 0.91 index_cached_properties.IndexCache.time_shape('TimedeltaIndex') - 525±4μs 476±5μs 0.91 categoricals.Concat.time_concat_overlapping_index - 88.1±1ms 79.7±3ms 0.90 frame_ctor.FromRecords.time_frame_from_records_generator(None) - 801±40ns 724±4ns 0.90 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(1, 12000) - 16.3±0.2ms 14.7±0.3ms 0.90 eval.Query.time_query_datetime_index - 352±1μs 317±2μs 0.90 algos.isin.IsIn.time_isin_mismatched_dtype('object') - 4.18±0.03ms 3.77±0.02ms 0.90 io.sas.SAS.time_read_sas('xport') - 15.6±0.3ms 14.0±0.1ms 0.90 eval.Query.time_query_datetime_column - 757±9μs 681±4μs 0.90 period.Indexing.time_align - 2.26±0.09ms 2.03±0.07ms 0.90 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'count') - 1.83±0ms 1.65±0.01ms 0.90 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'sum') - 420±30ns 378±4ns 0.90 dtypes.DtypesInvalid.time_pandas_dtype_invalid('array-string') - 993±2μs 893±7μs 0.90 libs.InferDtype.time_infer_dtype('np-object') - 3.72±0.02ms 3.33±0.02ms 0.90 index_cached_properties.IndexCache.time_is_unique('IntervalIndex') - 706±4μs 632±4μs 0.89 frame_ctor.FromDicts.time_dict_of_categoricals - 1.72±0.1μs 1.54±0.07μs 0.89 index_cached_properties.IndexCache.time_inferred_type('DatetimeIndex') - 1.91±0.02ms 1.70±0.01ms 0.89 io.csv.ReadCSVParseDates.time_baseline('c') - 235±2ms 208±1ms 0.89 io.stata.StataMissing.time_write_stata('tw') - 228±2ms 201±1ms 0.88 io.stata.StataMissing.time_write_stata('th') - 230±6ms 203±1ms 0.88 io.stata.StataMissing.time_write_stata('tq') - 218±3ms 192±4ms 0.88 io.stata.StataMissing.time_write_stata('td') - 3.44±0.02ms 3.01±0.02ms 0.87 index_cached_properties.IndexCache.time_is_unique('UInt64Index') - 3.44±0.02ms 3.01±0.02ms 0.87 index_cached_properties.IndexCache.time_is_unique('PeriodIndex') - 3.70±0.2μs 3.22±0.2μs 0.87 index_cached_properties.IndexCache.time_inferred_type('TimedeltaIndex') - 37.5±0.1μs 32.5±0.4μs 0.87 frame_ctor.FromSeries.time_mi_series - 216±6ms 187±2ms 0.87 io.stata.StataMissing.time_write_stata('tc') - 390±3μs 326±3μs 0.84 timeseries.ResetIndex.time_reset_datetimeindex(None) - 395±2μs 329±3μs 0.83 timeseries.ResetIndex.time_reset_datetimeindex('US/Eastern') - 9.26±0.09ms 7.65±0.7ms 0.83 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'sem') - 9.26±0.1ms 7.60±0.7ms 0.82 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'sem') - 22.4±0.09μs 18.3±0.1μs 0.82 frame_ctor.FromNDArray.time_frame_from_ndarray - 19.5±0.07ms 15.8±0.03ms 0.81 strings.Cat.time_cat(0, ',', None, 0.15) - 6.90±0.05ms 5.51±0.6ms 0.80 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'sem') - 16.4±2ms 12.7±0.07ms 0.77 eval.Eval.time_mult('python', 'all') - 3.47±0.1ms 2.58±0.01ms 0.75 frame_ctor.FromArrays.time_frame_from_arrays_float - 17.5±3ms 12.6±0.08ms 0.72 eval.Eval.time_add('python', 'all') - 4.36±0.03ms 2.99±0.01ms 0.69 frame_ctor.FromArrays.time_frame_from_arrays_int - 4.47±0.01ms 3.04±0.01ms 0.68 frame_ctor.FromArrays.time_frame_from_arrays_sparse - 27.4±0.4ms 17.1±0.09ms 0.62 indexing.InsertColumns.time_insert_middle - 17.1±0.07ms 10.5±0.1ms 0.62 indexing.InsertColumns.time_insert - 17.0±0.07ms 9.28±0.04ms 0.55 indexing.InsertColumns.time_assign_list_like_with_setitem - 17.6±0.1ms 9.38±0.02ms 0.53 indexing.InsertColumns.time_assign_with_setitem - 169±3μs 76.8±2μs 0.45 indexing.AssignTimeseriesIndex.time_frame_assign_timeseries_index - 81.0±0.5μs 28.2±0.4μs 0.35 period.DataFramePeriodColumn.time_setitem_period_column ```
jorisvandenbossche commented 2 years ago

All results combined

$ asv continuous -f 1.01 HEAD~1 HEAD ```diff before after ratio [f8052655] [5815ddc3] + 3.18±0.04μs 11.5±0.1ms 3632.89 frame_methods.ToNumpy.time_values_wide + 3.59±0.07μs 11.5±0.07ms 3193.82 frame_methods.ToNumpy.time_to_numpy_wide + 210±1μs 80.0±0.6ms 381.47 reshape.ReshapeExtensionDtype.time_transpose('datetime64[ns, US/Pacific]') + 508±4μs 99.7±0.5ms 196.07 frame_methods.Quantile.time_frame_quantile(1) + 3.18±0.04μs 263±1μs 82.80 frame_methods.ToNumpy.time_values_tall + 3.64±0.07μs 265±0.6μs 72.79 frame_methods.ToNumpy.time_to_numpy_tall + 48.7±0.3μs 3.34±0.2ms 68.49 frame_methods.XS.time_frame_xs(0) + 4.30±0.03ms 187±2ms 43.44 stat_ops.Correlation.time_corrwith_rows('pearson') + 58.5±0.3μs 1.38±0.01ms 23.52 frame_methods.Dtypes.time_frame_dtypes + 6.93±0.04ms 124±0.9ms 17.81 frame_methods.MaskBool.time_frame_mask_floats + 977±5μs 14.3±0.04ms 14.64 frame_methods.GetDtypeCounts.time_frame_get_dtype_counts + 6.10±0.04ms 87.1±2ms 14.28 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 4.01±0.06ms 54.9±0.5ms 13.71 groupby.GroupManyLabels.time_sum(1000) + 6.71±1ms 75.1±4ms 11.20 eval.Eval.time_add('numexpr', 'all') + 6.74±1ms 72.8±5ms 10.79 eval.Eval.time_mult('numexpr', 'all') + 9.92±0.05ms 106±0.5ms 10.67 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 416±5μs 4.32±0.4ms 10.37 arithmetic.Ops2.time_frame_series_dot + 12.9±0.03ms 119±0.6ms 9.16 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 11.3±0.2ms 96.3±2ms 8.49 eval.Eval.time_chained_cmp('numexpr', 'all') + 1.15±0.03ms 9.37±0.09ms 8.15 arithmetic.Ops2.time_frame_float_div_by_zero + 9.06±0.6ms 73.5±5ms 8.11 eval.Eval.time_mult('numexpr', 1) + 9.01±0.6ms 73.1±5ms 8.11 eval.Eval.time_add('numexpr', 1) + 662±8μs 5.31±0.06ms 8.03 frame_methods.Isnull.time_isnull_floats_no_null + 35.6±0.07ms 285±3ms 8.01 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 664±6μs 5.28±0.05ms 7.96 frame_methods.Isnull.time_isnull + 1.52±0.04ms 11.7±0.08ms 7.73 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('eq') + 1.52±0.04ms 11.6±0.04ms 7.60 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ne') + 1.54±0.05ms 11.7±0.1ms 7.58 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('gt') + 1.54±0.04ms 11.6±0.05ms 7.51 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('le') + 1.56±0.05ms 11.7±0.1ms 7.46 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('ge') + 1.56±0.06ms 11.6±0.05ms 7.43 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('lt') + 414±20μs 2.72±0.2ms 6.56 rolling.TableMethod.time_apply('table') + 34.3±1ms 202±2ms 5.90 frame_methods.MaskBool.time_frame_mask_bools + 1.82±0.01ms 10.5±0.07ms 5.78 arithmetic.Ops2.time_frame_int_div_by_zero + 13.6±0.06ms 77.6±0.8ms 5.72 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000, 10000)) + 3.70±0.2ms 20.0±0.2ms 5.40 frame_methods.ToNumpy.time_to_numpy_mixed_wide + 3.74±0.3ms 19.9±0.2ms 5.33 frame_methods.ToNumpy.time_values_mixed_wide + 616±9μs 3.18±0.02ms 5.16 stat_ops.FrameOps.time_op('prod', 'int', 1) + 590±4μs 2.92±0.01ms 4.94 stat_ops.FrameOps.time_op('sum', 'int', 1) + 1.79±0.01ms 8.77±0.04ms 4.91 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('add') + 1.83±0.03ms 8.81±0.03ms 4.83 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('sub') + 20.5±0.08ms 96.0±0.4ms 4.68 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('pow') + 2.82±0.02ms 13.2±0.07ms 4.67 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('truediv') + 14.6±0.7ms 65.9±1ms 4.52 eval.Eval.time_and('numexpr', 'all') + 21.5±0.2ms 97.3±0.5ms 4.52 frame_methods.Dropna.time_dropna('any', 1) + 1.99±0.02ms 8.93±0.03ms 4.49 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('mul') + 25.3±0.2ms 111±0.7ms 4.38 eval.Eval.time_chained_cmp('numexpr', 1) + 2.39±0.1ms 10.4±0.2ms 4.36 frame_methods.Equals.time_frame_float_equal + 44.5±0.09ms 184±0.5ms 4.14 reshape.Unstack.time_full_product('int') + 1.79±0.03ms 7.32±0.03ms 4.09 reshape.ReshapeExtensionDtype.time_unstack_fast('datetime64[ns, US/Pacific]') + 25.8±0.05ms 98.1±0.7ms 3.81 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('any', 1) + 1.67±0.01ms 6.25±0.02ms 3.74 stat_ops.FrameOps.time_op('sum', 'float', 1) + 112±0.7μs 382±2μs 3.41 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumsum', 'direct', 5) + 113±0.5μs 384±3μs 3.39 groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'direct', 5) + 115±0.5μs 387±2μs 3.37 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'direct', 5) + 1.85±0.01ms 6.05±0.3ms 3.26 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'datetime64[ns]') + 57.2±0.4ms 184±2ms 3.22 frame_methods.Count.time_count_level_multi(1) + 1.85±0.01ms 5.76±0.3ms 3.12 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'timedelta64[ns]') + 19.4±7ms 60.6±0.3ms 3.12 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000, 10000)) + 3.59±0.03ms 11.2±0.04ms 3.10 reshape.SimpleReshape.time_stack + 61.6±0.4ms 188±0.6ms 3.06 frame_methods.Count.time_count_level_multi(0) + 344±4μs 1.01±0.02ms 2.93 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumprod', 'direct', 5) + 349±3μs 1.02±0.01ms 2.91 groupby.GroupByMethods.time_dtype_as_group('int', 'cumprod', 'direct', 5) + 351±3μs 1.02±0.01ms 2.90 groupby.GroupByMethods.time_dtype_as_group('float', 'cumprod', 'direct', 5) + 15.9±0.1μs 45.2±0.4μs 2.85 dtypes.SelectDtypes.time_select_dtype_string_include() + 16.1±0.1μs 45.7±0.2μs 2.84 dtypes.SelectDtypes.time_select_dtype_int_include() + 15.9±0.2μs 45.1±0.4μs 2.84 dtypes.SelectDtypes.time_select_dtype_float_include() + 5.54±0.5ms 15.7±0.1ms 2.84 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('truediv') + 16.0±0.1μs 45.4±0.4μs 2.84 dtypes.SelectDtypes.time_select_dtype_bool_include() + 16.0±0.02μs 45.4±0.4μs 2.83 dtypes.SelectDtypes.time_select_dtype_string_include() + 16.0±0.2μs 45.2±0.4μs 2.82 dtypes.SelectDtypes.time_select_dtype_bool_include() + 127±1μs 354±0.9μs 2.79 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummax', 'direct', 5) + 126±0.6μs 350±0.9μs 2.78 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummin', 'direct', 5) + 120±1μs 333±1μs 2.77 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'direct', 5) + 9.77±0.07ms 27.0±0.4ms 2.76 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 129±0.8μs 356±1μs 2.75 groupby.GroupByMethods.time_dtype_as_group('int', 'cummax', 'direct', 5) + 119±0.3μs 325±1μs 2.72 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'direct', 5) + 9.34±0.05ms 25.4±0.3ms 2.72 frame_methods.Shift.time_shift(0) + 129±0.7μs 349±0.8μs 2.71 groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'direct', 5) + 121±2μs 326±0.7μs 2.70 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'direct', 5) + 72.6±0.5ms 196±10ms 2.70 frame_methods.Count.time_count_level_mixed_dtypes_multi(0) + 11.0±0.7ms 29.5±0.5ms 2.69 io.hdf.HDFStoreDataFrame.time_read_store_table_wide + 236±2μs 628±9μs 2.66 groupby.GroupByMethods.time_dtype_as_group('uint', 'var', 'direct', 5) + 15.7±0.09μs 41.5±0.2μs 2.65 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 43.0±0.2ms 114±0.5ms 2.65 frame_methods.Iteration.time_iteritems_indexing + 15.8±0.1μs 41.6±0.4μs 2.64 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 240±2μs 627±4μs 2.61 groupby.GroupByMethods.time_dtype_as_group('uint', 'mean', 'direct', 5) + 5.42±0.5ms 14.2±0.1ms 2.61 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('sub') + 240±1μs 623±2μs 2.60 groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'direct', 5) + 5.45±0.5ms 14.1±0.08ms 2.59 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('mul') + 3.79±0.1ms 9.77±0.2ms 2.58 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'timedelta64[ns]') + 42.8±0.4ms 110±0.7ms 2.58 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('all', 1) + 25.3±0.4ms 65.3±0.3ms 2.58 frame_methods.Dropna.time_dropna('any', 0) + 244±1μs 627±3μs 2.58 groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'direct', 5) + 5.86±0.09ms 15.0±0.3ms 2.56 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 3.78±0.1ms 9.67±0.01ms 2.56 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'datetime64[ns]') + 33.1±0.07ms 84.4±0.8ms 2.55 eval.Eval.time_and('numexpr', 1) + 240±2μs 608±5μs 2.54 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'direct', 5) + 30.4±0.08ms 76.8±0.9ms 2.53 arithmetic.Ops2.time_frame_float_floor_by_zero + 263±2μs 660±3μs 2.51 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'direct', 5) + 3.75±0.1ms 9.19±0.2ms 2.45 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'timedelta64[ns]') + 45.0±0.3ms 110±0.6ms 2.44 frame_methods.Dropna.time_dropna('all', 1) + 113±0.8μs 275±3μs 2.42 groupby.GroupByMethods.time_dtype_as_group('float', 'any', 'direct', 5) + 41.1±0.09ms 99.5±0.4ms 2.42 frame_methods.Reindex.time_reindex_axis1_missing + 3.75±0.1ms 9.06±0.05ms 2.42 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'datetime64[ns]') + 112±0.9μs 270±2μs 2.40 groupby.GroupByMethods.time_dtype_as_group('uint', 'any', 'direct', 5) + 108±0.4μs 258±0.4μs 2.39 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'direct', 5) + 3.91±0.01ms 9.27±0.07ms 2.37 stat_ops.Correlation.time_corrwith_cols('pearson') + 114±0.8μs 269±2μs 2.37 groupby.GroupByMethods.time_dtype_as_group('int', 'any', 'direct', 5) + 28.5±0.4ms 67.5±0.2ms 2.36 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('any', 0) + 114±0.3μs 267±0.6μs 2.35 groupby.GroupByMethods.time_dtype_as_group('datetime', 'any', 'direct', 5) + 9.50±1ms 22.3±1ms 2.35 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('eq') + 115±0.7μs 269±1μs 2.34 groupby.GroupByMethods.time_dtype_as_group('datetime', 'all', 'direct', 5) + 182±0.9μs 426±3μs 2.34 groupby.GroupByMethods.time_dtype_as_group('uint', 'std', 'direct', 5) + 9.52±1ms 22.2±2ms 2.34 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ne') + 116±1μs 271±2μs 2.34 groupby.GroupByMethods.time_dtype_as_group('float', 'all', 'direct', 5) + 115±2μs 267±2μs 2.33 groupby.GroupByMethods.time_dtype_as_group('uint', 'all', 'direct', 5) + 9.49±1ms 22.1±2ms 2.33 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('le') + 111±1μs 257±2μs 2.33 groupby.GroupByMethods.time_dtype_as_group('object', 'all', 'direct', 5) + 9.50±1ms 22.0±2ms 2.32 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('lt') + 9.55±1ms 22.1±2ms 2.32 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('ge') + 316±1μs 731±4μs 2.31 groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'direct', 5) + 9.56±1ms 22.0±2ms 2.30 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('gt') + 116±1μs 268±0.9μs 2.30 groupby.GroupByMethods.time_dtype_as_group('int', 'all', 'direct', 5) + 1.79±0.01ms 4.11±0.2ms 2.30 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 85.0±0.3ms 195±10ms 2.29 frame_methods.Count.time_count_level_mixed_dtypes_multi(1) + 186±2μs 426±3μs 2.28 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'direct', 5) + 1.81±0ms 4.13±0.2ms 2.28 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 35.9±3ms 81.5±1ms 2.27 join_merge.ConcatDataFrames.time_c_ordered(0, True) + 3.06±0.2ms 6.94±0.06ms 2.27 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'timedelta64[ns]') + 23.1±0.09μs 52.4±0.4μs 2.26 dtypes.SelectDtypes.time_select_dtype_string_include() + 36.3±3ms 82.1±2ms 2.26 join_merge.ConcatDataFrames.time_c_ordered(0, False) + 23.1±0.08μs 52.3±0.3μs 2.26 dtypes.SelectDtypes.time_select_dtype_float_include() + 3.08±0.2ms 6.94±0.1ms 2.25 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'datetime64[ns]') + 1.78±0.03ms 4.00±0.2ms 2.25 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 23.4±0.2μs 52.4±0.2μs 2.24 dtypes.SelectDtypes.time_select_dtype_int_include() + 23.5±0.2μs 52.5±0.4μs 2.24 dtypes.SelectDtypes.time_select_dtype_string_include() + 23.5±0.1μs 52.5±0.3μs 2.23 dtypes.SelectDtypes.time_select_dtype_float_include() + 23.5±0.09μs 52.5±0.1μs 2.23 dtypes.SelectDtypes.time_select_dtype_int_include() + 1.28±0.01ms 2.85±0.2ms 2.23 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 23.6±0.07μs 52.6±0.2μs 2.23 dtypes.SelectDtypes.time_select_dtype_bool_include() + 1.28±0.02ms 2.84±0.3ms 2.23 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 185±0.8μs 412±4μs 2.23 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'direct', 5) + 355±1μs 789±9μs 2.23 groupby.GroupByMethods.time_dtype_as_group('uint', 'median', 'direct', 5) + 1.81±0.02ms 3.99±0.2ms 2.21 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 97.8±2ms 216±0.4ms 2.21 reshape.Unstack.time_without_last_row('int') + 6.41±1ms 14.1±0.1ms 2.20 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('add') + 359±2μs 785±5μs 2.19 groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'direct', 5) + 1.90±0.01ms 4.15±0.1ms 2.18 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.90±0.04ms 4.13±0.2ms 2.18 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.93±0.03ms 4.14±0.2ms 2.15 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 21.6±3ms 46.1±0.5ms 2.14 arithmetic.Ops.time_frame_multi_and(True, 'default') + 1.28±0.01ms 2.74±0.2ms 2.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 26.3±0.1μs 56.3±0.4μs 2.14 dtypes.SelectDtypes.time_select_dtype_string_include('Int8') + 1.88±0.01ms 3.99±0.2ms 2.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.27±0.01ms 2.69±0.2ms 2.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 26.5±0.1μs 56.0±0.3μs 2.11 dtypes.SelectDtypes.time_select_dtype_float_include('Int8') + 975±4μs 2.06±0.01ms 2.11 stat_ops.FrameOps.time_op('mean', 'int', 1) + 1.88±0.02ms 3.97±0.2ms 2.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 26.6±0.1μs 55.9±0.2μs 2.10 dtypes.SelectDtypes.time_select_dtype_int_include('Int8') + 26.7±0.1μs 56.1±0.4μs 2.10 dtypes.SelectDtypes.time_select_dtype_bool_include('Int8') + 747±7μs 1.56±0.01ms 2.09 groupby.GroupByMethods.time_dtype_as_group('uint', 'prod', 'direct', 5) + 23.3±0.2μs 48.7±0.1μs 2.09 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 1.89±0.02ms 3.96±0.2ms 2.09 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 27.3±0.3μs 57.1±0.3μs 2.09 dtypes.SelectDtypes.time_select_dtype_float_include('Int16') + 27.2±0.2μs 56.8±0.3μs 2.09 dtypes.SelectDtypes.time_select_dtype_string_include('Int16') + 2.43±0.02ms 5.04±0.09ms 2.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 27.3±0.2μs 56.7±0.3μs 2.08 dtypes.SelectDtypes.time_select_dtype_bool_include('Int16') + 746±8μs 1.55±0.01ms 2.08 groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'direct', 5) + 27.4±0.3μs 56.8±0.2μs 2.07 dtypes.SelectDtypes.time_select_dtype_int_include('Int16') + 12.0±0.1ms 24.8±0.7ms 2.07 frame_methods.Iteration.time_items + 1.26±0.02ms 2.60±0.1ms 2.06 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 27.9±0.1μs 57.5±0.3μs 2.06 dtypes.SelectDtypes.time_select_dtype_int_include('Int32') + 799±4μs 1.64±0.02ms 2.06 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'direct', 5) + 28.0±0.1μs 57.6±0.2μs 2.06 dtypes.SelectDtypes.time_select_dtype_float_include('Int32') + 766±4μs 1.57±0.02ms 2.05 groupby.GroupByMethods.time_dtype_as_group('uint', 'sum', 'direct', 5) + 2.42±0.01ms 4.96±0.5ms 2.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 28.0±0.2μs 57.6±0.1μs 2.05 dtypes.SelectDtypes.time_select_dtype_string_include('Int32') + 2.02±0.02ms 4.14±0.2ms 2.05 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 28.1±0.3μs 57.5±0.3μs 2.05 dtypes.SelectDtypes.time_select_dtype_bool_include('Int32') + 773±4μs 1.58±0.01ms 2.04 groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'direct', 5) + 2.81±0.01ms 5.73±0.1ms 2.04 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 28.8±0.4μs 58.7±0.5μs 2.04 dtypes.SelectDtypes.time_select_dtype_string_include('Int64') + 28.9±0.4μs 58.8±0.4μs 2.03 dtypes.SelectDtypes.time_select_dtype_float_include('Int64') + 28.8±0.4μs 58.5±0.3μs 2.03 dtypes.SelectDtypes.time_select_dtype_bool_include('Int64') + 29.2±0.2μs 59.3±0.5μs 2.03 dtypes.SelectDtypes.time_select_dtype_int_include('UInt8') + 2.42±0.01ms 4.91±0.06ms 2.02 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 33.3±0.6ms 67.4±0.9ms 2.02 groupby.GroupByCythonAgg.time_frame_agg('float64', 'prod') + 29.7±0.1μs 60.0±0.6μs 2.02 dtypes.SelectDtypes.time_select_dtype_int_include('UInt16') + 29.5±0.1μs 59.3±0.6μs 2.01 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt8') + 29.9±0.1μs 60.0±0.3μs 2.01 dtypes.SelectDtypes.time_select_dtype_string_include('UInt16') + 29.5±0.2μs 59.3±0.3μs 2.01 dtypes.SelectDtypes.time_select_dtype_float_include('UInt8') + 2.42±0ms 4.85±0.06ms 2.00 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 29.6±0.2μs 59.1±0.2μs 2.00 dtypes.SelectDtypes.time_select_dtype_string_include('UInt8') + 29.9±0.2μs 59.8±0.2μs 2.00 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt16') + 29.9±0.1μs 59.7±0.3μs 2.00 dtypes.SelectDtypes.time_select_dtype_float_include('UInt16') + 2.02±0.02ms 4.03±0.2ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.36±0.01ms 2.70±0.08ms 1.99 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 825±5μs 1.64±0.02ms 1.99 groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'direct', 5) + 30.4±0.2μs 60.5±0.3μs 1.99 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt32') + 30.5±0.1μs 60.6±0.2μs 1.99 dtypes.SelectDtypes.time_select_dtype_string_include('UInt32') + 13.5±0.04ms 26.8±0.2ms 1.98 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 1.09±0.01ms 2.17±0.02ms 1.98 stat_ops.FrameOps.time_op('mean', 'float', 1) + 30.7±0.2μs 60.7±0.3μs 1.98 dtypes.SelectDtypes.time_select_dtype_int_include('UInt32') + 1.37±0.01ms 2.70±0.08ms 1.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.92±0.07ms 5.78±0.07ms 1.98 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 40.7±6ms 80.5±2ms 1.98 join_merge.ConcatDataFrames.time_f_ordered(0, True) + 31.0±0.08μs 61.2±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_int_include('UInt64') + 1.27±0.01ms 2.51±0.02ms 1.97 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 41.5±0.5ms 81.9±0.4ms 1.97 frame_methods.Dropna.time_dropna('all', 0) + 31.1±0.1μs 61.3±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_string_include('UInt64') + 3.52±0.07ms 6.93±0.02ms 1.97 frame_methods.Reindex.time_reindex_axis0 + 30.7±0.1μs 60.5±0.3μs 1.97 dtypes.SelectDtypes.time_select_dtype_float_include('UInt32') + 31.3±0.09μs 61.4±0.2μs 1.96 dtypes.SelectDtypes.time_select_dtype_float_include('UInt64') + 31.4±0.2μs 61.6±0.5μs 1.96 dtypes.SelectDtypes.time_select_dtype_bool_include('UInt64') + 2.78±0.02ms 5.45±0.07ms 1.96 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 2.42±0.01ms 4.73±0.07ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 41.8±5ms 81.3±1ms 1.95 join_merge.ConcatDataFrames.time_f_ordered(0, False) + 2.42±0.01ms 4.71±0.2ms 1.95 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 516±3μs 1.00±0.03ms 1.94 frame_methods.Iteration.time_itertuples_start + 4.56±0.05ms 8.86±3ms 1.94 gil.ParallelRolling.time_rolling('min') + 28.5±0.3μs 54.8±0.3μs 1.92 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int64') + 1.35±0.01ms 2.58±0.1ms 1.91 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.35±0ms 2.57±0.2ms 1.89 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 365±1μs 686±20μs 1.88 frame_methods.Iteration.time_itertuples_raw_start + 33.4±0.7ms 62.6±0.8ms 1.88 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis0('floordiv') + 366±2μs 686±10μs 1.87 frame_methods.Iteration.time_itertuples_raw_read_first + 12.7±0.01ms 23.8±0.09ms 1.87 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (10000, 1000)) + 523±4μs 976±30μs 1.86 frame_methods.Iteration.time_itertuples_read_first + 1.45±0ms 2.69±0.09ms 1.86 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.45±0ms 2.68±0.1ms 1.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.46±0.01ms 2.70±0.07ms 1.85 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 13.4±3ms 24.8±0.08ms 1.84 groupby.Cumulative.time_frame_transform('int64', 'cumsum') + 36.4±0.6ms 67.1±0.8ms 1.84 groupby.GroupByCythonAgg.time_frame_agg('float64', 'first') + 212±0.7ns 389±4ns 1.84 attrs_caching.DataFrameAttributes.time_get_index + 45.2±0.6ms 82.2±1ms 1.82 groupby.GroupByCythonAgg.time_frame_agg('float64', 'sum') + 44.9±0.7ms 81.5±0.8ms 1.82 groupby.GroupByCythonAgg.time_frame_agg('float64', 'mean') + 1.43±0.01ms 2.60±0.1ms 1.81 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 6.39±0.08ms 11.6±0.03ms 1.81 timeseries.AsOf.time_asof_nan('DataFrame') + 9.77±0.03ms 17.6±0.07ms 1.81 stat_ops.FrameOps.time_op('kurt', 'int', 1) + 1.44±0.02ms 2.57±0.1ms 1.79 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 6.60±0.06ms 11.8±0.02ms 1.78 timeseries.AsOf.time_asof('DataFrame') + 44.4±0.7ms 79.1±2ms 1.78 groupby.GroupByCythonAgg.time_frame_agg('float64', 'var') + 40.1±0.3μs 71.4±2μs 1.78 dtypes.SelectDtypes.time_select_dtype_int_include('int8') + 35.7±0.09ms 63.3±0.4ms 1.77 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (10000, 1000)) + 40.4±0.2μs 71.6±2μs 1.77 dtypes.SelectDtypes.time_select_dtype_int_include('int16') + 1.44±0.01ms 2.56±0.1ms 1.77 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 39.8±0.2μs 70.1±0.2μs 1.76 dtypes.SelectDtypes.time_select_dtype_string_include('m8[ns]') + 39.9±0.02μs 70.1±0.6μs 1.76 dtypes.SelectDtypes.time_select_dtype_string_include('M8[ns]') + 40.0±0.2μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('m8[ns]') + 40.0±0.3μs 70.2±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('M8[ns]') + 40.1±0.08μs 70.3±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint16') + 39.9±0.08μs 69.9±0.1μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('m8[ns]') + 40.1±0.2μs 70.3±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('uint16') + 40.0±0.2μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint64') + 39.9±0.1μs 70.0±0.2μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('M8[ns]') + 524±2μs 918±3μs 1.75 groupby.GroupByMethods.time_dtype_as_group('uint', 'min', 'direct', 5) + 40.1±0.1μs 70.2±0.9μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('float64') + 1.96±0.03ms 3.44±0.04ms 1.75 arithmetic.Ops.time_frame_comparison(True, 'default') + 50.6±0.6ms 88.6±2ms 1.75 join_merge.ConcatDataFrames.time_f_ordered(1, False) + 39.8±0.2μs 69.7±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int8') + 40.1±0.4μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('m8[ns]') + 537±1μs 940±20μs 1.75 groupby.GroupByMethods.time_dtype_as_group('datetime', 'max', 'direct', 5) + 40.2±0.1μs 70.2±0.6μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('complex64') + 40.0±0.2μs 69.8±0.09μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('float32') + 39.9±0.3μs 69.7±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('bool') + 40.6±0.1μs 70.8±0.1μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('timedelta64[ns]') + 40.1±0.1μs 70.0±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('M8[ns]') + 40.3±0.2μs 70.3±0.5μs 1.75 dtypes.SelectDtypes.time_select_dtype_float_include('uint32') + 40.1±0.2μs 70.1±0.2μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int32') + 40.0±0.1μs 69.9±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('int32') + 40.2±0.2μs 70.1±0.4μs 1.75 dtypes.SelectDtypes.time_select_dtype_int_include('uint16') + 40.0±0.2μs 69.9±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('complex128') + 40.2±0.06μs 70.1±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_string_include('int64') + 40.0±0.2μs 69.8±0.3μs 1.75 dtypes.SelectDtypes.time_select_dtype_bool_include('complex64') + 40.1±0.3μs 69.9±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('uint8') + 40.0±0.1μs 69.8±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_int_include('complex128') + 40.1±0.5μs 70.0±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('uint8') + 40.1±0.1μs 69.9±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('int64') + 518±3μs 904±30μs 1.74 groupby.GroupByMethods.time_dtype_as_group('datetime', 'first', 'direct', 5) + 40.2±0.1μs 70.1±0.1μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('float32') + 40.1±0.1μs 69.9±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int64') + 40.2±0.2μs 70.0±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('complex64') + 40.2±0.3μs 70.2±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int32') + 40.7±0.2μs 70.9±0.1μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('timedelta64[ns]') + 40.0±0.09μs 69.7±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('float32') + 39.9±0.1μs 69.5±0.4μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('bool') + 40.2±0.2μs 69.9±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('float64') + 26.2±2ms 45.6±0.6ms 1.74 arithmetic.Ops.time_frame_multi_and(False, 'default') + 116±0.4μs 203±1μs 1.74 groupby.GroupByMethods.time_dtype_as_group('int', 'count', 'direct', 5) + 40.1±0.06μs 69.8±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('complex128') + 40.7±0.2μs 70.8±0.2μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('timedelta64[ns]') + 40.4±0.3μs 70.2±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('float32') + 40.2±0.2μs 69.8±0.7μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('uint64') + 40.2±0.1μs 69.8±0.3μs 1.74 dtypes.SelectDtypes.time_select_dtype_float_include('int8') + 40.1±0.1μs 69.7±0.6μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('float64') + 40.3±0.2μs 69.9±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_int_include('uint32') + 456±2μs 792±6μs 1.74 groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'direct', 5) + 40.2±0.1μs 69.8±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_bool_include('uint16') + 26.5±2ms 46.0±0.2ms 1.74 arithmetic.Ops.time_frame_multi_and(False, 1) + 39.9±0.07μs 69.3±0.5μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('bool') + 40.3±0.4μs 70.0±0.4μs 1.74 dtypes.SelectDtypes.time_select_dtype_string_include('int16') + 40.8±0.2μs 70.7±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('timedelta64[ns]') + 40.1±0.2μs 69.6±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('complex64') + 40.2±0.2μs 69.8±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('uint64') + 40.3±0.5μs 69.9±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_string_include('uint32') + 40.4±0.3μs 70.0±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_float_include('int16') + 40.2±0.1μs 69.7±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int32') + 40.2±0.4μs 69.7±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('uint64') + 40.3±0.5μs 69.8±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int16') + 41.1±0.2μs 71.1±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_int_include('datetime64[ns]') + 41.0±0.3μs 70.9±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_string_include('datetime64[ns]') + 11.4±0.09ms 19.8±0.04ms 1.73 stat_ops.FrameOps.time_op('skew', 'int', 1) + 40.3±0.5μs 69.7±0.4μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('int8') + 40.4±0.1μs 69.9±0.5μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('complex128') + 515±9μs 891±70μs 1.73 groupby.GroupByMethods.time_dtype_as_group('datetime', 'last', 'direct', 5) + 40.4±0.3μs 69.8±0.3μs 1.73 dtypes.SelectDtypes.time_select_dtype_bool_include('uint32') + 1.57±0.01ms 2.72±0.06ms 1.73 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 41.1±0.3μs 71.0±0.2μs 1.72 dtypes.SelectDtypes.time_select_dtype_float_include('datetime64[ns]') + 534±2μs 921±20μs 1.72 groupby.GroupByMethods.time_dtype_as_group('datetime', 'min', 'direct', 5) + 40.5±0.4μs 69.7±0.4μs 1.72 dtypes.SelectDtypes.time_select_dtype_int_include('uint8') + 40.6±0.3μs 69.9±0.5μs 1.72 dtypes.SelectDtypes.time_select_dtype_bool_include('uint8') + 532±1μs 915±4μs 1.72 groupby.GroupByMethods.time_dtype_as_group('uint', 'max', 'direct', 5) + 523±0.9μs 900±4μs 1.72 groupby.GroupByMethods.time_dtype_as_group('int', 'first', 'direct', 5) + 537±2μs 924±7μs 1.72 groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'direct', 5) + 3.86±0.05ms 6.63±0.08ms 1.72 stat_ops.FrameOps.time_op('mad', 'int', 1) + 41.4±0.2μs 71.0±0.4μs 1.72 dtypes.SelectDtypes.time_select_dtype_bool_include('datetime64[ns]') + 51.0±4ms 87.6±2ms 1.72 join_merge.ConcatDataFrames.time_f_ordered(1, True) + 1.43±0.01ms 2.46±0.01ms 1.71 stat_ops.FrameOps.time_op('var', 'int', 1) + 526±9μs 900±8μs 1.71 groupby.GroupByMethods.time_dtype_as_group('uint', 'first', 'direct', 5) + 20.9±0.1ms 35.8±0.5ms 1.71 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 544±3μs 931±6μs 1.71 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'direct', 5) + 20.9±0.03ms 35.7±0.2ms 1.71 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 47.2±0.7μs 80.5±0.6μs 1.71 replace.ReplaceList.time_replace_list(True) + 538±0.8μs 915±4μs 1.70 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'direct', 5) + 457±2μs 777±5μs 1.70 groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'direct', 5) + 539±4μs 915±7μs 1.70 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'direct', 5) + 86.8±1ms 147±1ms 1.70 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'direct', 5) + 516±2μs 874±7μs 1.69 groupby.GroupByMethods.time_dtype_as_group('uint', 'last', 'direct', 5) + 533±2μs 897±9μs 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'direct', 5) + 56.8±0.3ms 95.7±0.5ms 1.68 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'direct', 5) + 88.2±1ms 148±1ms 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'transformation', 5) + 3.27±0.06ms 5.49±0.1ms 1.68 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 536±4μs 901±5μs 1.68 groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'direct', 5) + 56.6±0.3ms 95.0±1ms 1.68 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'direct', 5) + 2.03±0.04ms 3.39±0.04ms 1.67 arithmetic.Ops.time_frame_comparison(False, 'default') + 519±4μs 866±9μs 1.67 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'direct', 5) + 2.03±0.02ms 3.39±0.03ms 1.67 arithmetic.Ops.time_frame_comparison(False, 1) + 1.70±0.01ms 2.83±0.07ms 1.67 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.57±0.01ms 2.61±0.02ms 1.67 stat_ops.FrameOps.time_op('var', 'float', 1) + 58.1±0.5ms 96.7±0.4ms 1.67 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'transformation', 5) + 58.0±0.3ms 96.6±0.3ms 1.66 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'transformation', 5) + 1.71±0.01ms 2.85±0.1ms 1.66 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.71±0.01ms 2.83±0.1ms 1.66 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 51.8±0.2ms 85.9±0.5ms 1.66 frame_methods.Dropna.time_dropna_axis_mixed_dtypes('all', 0) + 5.82±0.07ms 9.65±0.04ms 1.66 reshape.ReshapeExtensionDtype.time_stack('datetime64[ns, US/Pacific]') + 12.9±0.03ms 21.4±3ms 1.65 indexing.ChainIndexing.time_chained_indexing(None) + 40.1±0.2μs 66.0±0.4μs 1.65 dtypes.SelectDtypes.time_select_dtype_int_exclude('int64') + 40.3±0.4μs 66.3±0.5μs 1.65 dtypes.SelectDtypes.time_select_dtype_float_exclude('float64') + 545±2ms 894±8ms 1.64 io.csv.ToCSVDatetimeBig.time_frame(100000) + 40.2±0.3μs 65.9±0.3μs 1.64 dtypes.SelectDtypes.time_select_dtype_bool_exclude('bool') + 28.2±2ms 46.2±0.5ms 1.64 arithmetic.Ops.time_frame_multi_and(True, 1) + 50.1±2ms 81.9±1ms 1.64 groupby.GroupByCythonAgg.time_frame_agg('float64', 'any') + 47.2±0.8ms 77.2±0.4ms 1.64 replace.Convert.time_replace('DataFrame', 'Timedelta') + 727±9μs 1.19±0.04ms 1.64 frame_methods.Iteration.time_items_cached + 1.25±0.02ms 2.04±0.03ms 1.64 timeseries.ResampleDataFrame.time_method('mean') + 1.56±0ms 2.55±0.1ms 1.63 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.72±0.01ms 2.80±0.09ms 1.63 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 3.25±0.02μs 5.28±0.5μs 1.62 frame_methods.XS.time_frame_xs(1) + 11.1±0.1ms 18.0±3ms 1.62 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 353±6μs 572±5μs 1.62 frame_methods.Quantile.time_frame_quantile(0) + 47.9±0.7ms 77.1±0.4ms 1.61 replace.Convert.time_replace('DataFrame', 'Timestamp') + 6.11±0.04ms 9.83±0.03ms 1.61 io.csv.ToCSVDatetimeBig.time_frame(1000) + 51.0±2ms 81.9±1ms 1.61 groupby.GroupByCythonAgg.time_frame_agg('float64', 'all') + 1.71±0.02ms 2.75±0.1ms 1.61 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 55.4±0.4ms 88.9±0.2ms 1.61 io.csv.ToCSVDatetimeBig.time_frame(10000) + 8.93±0.3ms 14.3±0.1ms 1.60 eval.Eval.time_chained_cmp('python', 'all') + 1.71±0.01ms 2.73±0.02ms 1.60 stat_ops.FrameOps.time_op('std', 'int', 1) + 40.4±0.5ms 64.5±0.7ms 1.60 groupby.GroupByCythonAgg.time_frame_agg('float64', 'last') + 253±0.7ms 404±0.6ms 1.60 join_merge.Merge.time_merge_dataframes_cross(True) + 1.71±0.01ms 2.73±0.1ms 1.59 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 254±2ms 403±0.5ms 1.59 join_merge.Merge.time_merge_dataframes_cross(False) + 4.65±0.06ms 7.36±0.04ms 1.58 stat_ops.FrameOps.time_op('sem', 'float', 1) + 1.70±0.01ms 2.66±0.1ms 1.56 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 132±1μs 207±1μs 1.56 groupby.GroupByMethods.time_dtype_as_group('datetime', 'count', 'direct', 5) + 131±0.6μs 203±2μs 1.56 groupby.GroupByMethods.time_dtype_as_group('uint', 'count', 'direct', 5) + 4.05±0.03ms 6.28±0ms 1.55 stat_ops.FrameOps.time_op('prod', 'float', 1) + 1.70±0.01ms 2.63±0.1ms 1.55 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.93±0.01ms 2.97±0.02ms 1.54 stat_ops.FrameOps.time_op('std', 'float', 1) + 136±1μs 209±1μs 1.54 groupby.GroupByMethods.time_dtype_as_group('float', 'count', 'direct', 5) + 6.49±0.2ms 9.98±0.03ms 1.54 frame_methods.Reindex.time_reindex_upcast + 1.79±0.02ms 2.75±0.07ms 1.54 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 128±0.6μs 197±0.9μs 1.53 groupby.GroupByMethods.time_dtype_as_group('object', 'count', 'direct', 5) + 8.17±0.04ms 12.5±0.03ms 1.53 join_merge.Concat.time_concat_small_frames(1) + 2.45±0.02ms 3.73±0.07ms 1.53 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.81±0.01ms 2.75±0.06ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.59±0.05ms 1.52 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 5.56±0.02ms 8.43±0.02ms 1.52 stat_ops.FrameMultiIndexOps.time_op(0, 'std') + 5.68±0.06ms 8.57±0.04ms 1.51 stat_ops.FrameMultiIndexOps.time_op(0, 'var') + 2.43±0.02ms 3.65±0.06ms 1.50 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 1.54±0.03ms 2.31±0.02ms 1.50 timeseries.AsOf.time_asof_nan_single('DataFrame') + 47.3±0.7ms 71.0±0.6ms 1.50 groupby.GroupByCythonAgg.time_frame_agg('float64', 'min') + 11.6±0.05ms 17.3±0.1ms 1.50 eval.Eval.time_and('python', 'all') + 47.5±0.7ms 71.1±1ms 1.50 groupby.GroupByCythonAgg.time_frame_agg('float64', 'max') + 17.1±0.2ms 25.5±0.3ms 1.49 indexing.ChainIndexing.time_chained_indexing('warn') + 1.04±0.01ms 1.55±0.3ms 1.49 series_methods.NanOps.time_func('sum', 1000000, 'int8') + 27.6±0.6ms 40.6±0.05ms 1.47 arithmetic.Ops2.time_frame_dot + 399±3ms 587±0.9ms 1.47 join_merge.MergeCategoricals.time_merge_object + 5.76±0.02ms 8.48±0.05ms 1.47 stat_ops.FrameMultiIndexOps.time_op(1, 'var') + 9.86±0.07ms 14.5±0.3ms 1.47 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) + 518±1ms 761±4ms 1.47 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'skew') + 5.71±0.06ms 8.37±0.08ms 1.47 stat_ops.FrameMultiIndexOps.time_op(1, 'std') + 2.36±0.02ms 3.46±0.03ms 1.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.45±0.06ms 1.47 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 4.45±0.2ms 6.53±0.1ms 1.46 stat_ops.FrameOps.time_op('mad', 'float', 1) + 1.90±0.02ms 2.78±0.08ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.02ms 3.45±0.03ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.36±0.01ms 3.44±0.02ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.34±0.01ms 3.41±0.04ms 1.46 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.36±0.01ms 3.44±0.06ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.42±0.01ms 3.51±0.07ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.90±0.01ms 2.76±0.08ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 1.88±0.02ms 2.73±0.07ms 1.45 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 15.9±3ms 22.9±0.05ms 1.44 groupby.Cumulative.time_frame_transform('int64', 'cummin') + 14.2±2ms 20.6±0.04ms 1.44 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cumsum') + 7.73±0.6ms 11.1±0.1ms 1.44 frame_methods.Equals.time_frame_float_unequal + 1.85±0.01ms 2.66±0.1ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 14.4±0.9ms 20.6±0.1ms 1.43 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cumsum') + 16.0±2ms 22.8±0.06ms 1.43 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cummin') + 1.85±0.01ms 2.63±0.1ms 1.43 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 16.1±0.9ms 22.9±0.3ms 1.42 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cummin') + 176±2ms 250±1ms 1.42 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'direct', 5) + 17.4±0.9ms 24.7±0.1ms 1.42 groupby.Cumulative.time_frame_transform('float64', 'cummin') + 16.8±3ms 23.8±0.08ms 1.42 groupby.Cumulative.time_frame_transform('int64', 'cummax') + 1.85±0.02ms 2.61±0.1ms 1.41 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 177±2ms 251±2ms 1.41 groupby.GroupByMethods.time_dtype_as_group('float', 'mad', 'transformation', 5) + 114±1ms 161±0.8ms 1.41 groupby.GroupByMethods.time_dtype_as_group('uint', 'mad', 'direct', 5) + 26.2±1ms 37.0±0.4ms 1.41 arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1('pow') + 2.36±0.01ms 3.32±0.05ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.37±0.01ms 3.32±0.03ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 16.3±3ms 22.9±0.04ms 1.40 groupby.Cumulative.time_frame_transform_many_nulls('int64', 'cummax') + 2.37±0.01ms 3.32±0.04ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 116±1ms 162±0.9ms 1.40 groupby.GroupByMethods.time_dtype_as_group('uint', 'mad', 'transformation', 5) + 114±1ms 160±1ms 1.40 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'direct', 5) + 116±1ms 163±0.7ms 1.40 groupby.GroupByMethods.time_dtype_as_group('int', 'mad', 'transformation', 5) + 734±40μs 1.03±0.09ms 1.40 reindex.LevelAlign.time_align_level + 2.37±0.02ms 3.30±0.04ms 1.40 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 13.1±0.06ms 18.2±0.08ms 1.40 io.hdf.HDFStoreDataFrame.time_query_store_table_wide + 2.60±0.03ms 3.62±0.04ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 49.3±3ms 68.6±0.6ms 1.39 frame_methods.Equals.time_frame_object_unequal + 2.36±0.01ms 3.28±0.06ms 1.39 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 16.6±0.9ms 23.0±0.04ms 1.39 groupby.Cumulative.time_frame_transform_many_nulls('float64', 'cummax') + 240±0.4μs 333±2μs 1.39 stat_ops.Correlation.time_corr('pearson') + 2.38±0.02ms 3.29±0.03ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 15.9±0.8ms 21.9±0.06ms 1.38 groupby.Cumulative.time_frame_transform('float64', 'cumsum') + 32.0±0.3μs 44.1±0.4μs 1.38 frame_methods.GetNumericData.time_frame_get_numeric_data + 2.37±0.01ms 3.26±0.04ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 2.00±0.02ms 2.76±0.09ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 3.39±0ms 4.67±0.06ms 1.38 timeseries.ResampleSeries.time_resample('datetime', '5min', 'ohlc') + 2.36±0.01ms 3.25±0.04ms 1.38 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 116±1μs 159±3μs 1.37 indexing.IndexSingleRow.time_iloc_row(True) + 2.38±0.01ms 3.26±0.03ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 2.38±0.01ms 3.25±0.04ms 1.37 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 1.57±0μs 2.13±0.03μs 1.36 indexing.GetItemSingleColumn.time_frame_getitem_single_column_label + 5.66±0.03ms 7.69±0.04ms 1.36 stat_ops.FrameMultiIndexOps.time_op(0, 'mean') + 3.39±0.03ms 4.59±0.03ms 1.36 timeseries.ResampleSeries.time_resample('period', '5min', 'ohlc') + 742±30μs 1.00±0.09ms 1.35 reindex.LevelAlign.time_reindex_level + 1.47±0ms 1.99±0.3ms 1.35 series_methods.NanOps.time_func('prod', 1000000, 'int8') + 5.70±0.01ms 7.67±0.01ms 1.35 stat_ops.FrameMultiIndexOps.time_op(0, 'sum') + 1.20±0ms 1.60±0.01ms 1.34 reindex.ReindexMethod.time_reindex_method('pad', ) + 1.97±0.02ms 2.64±0.1ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 18.8±0.7ms 25.2±0.07ms 1.34 groupby.Cumulative.time_frame_transform('float64', 'cummax') + 1.78±0.01ms 2.39±0.03ms 1.34 timeseries.AsOf.time_asof_single('DataFrame') + 41.8±0.03ms 56.0±0.7ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 41.6±0.05ms 55.7±0.3ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 41.7±0.02ms 55.7±0.3ms 1.34 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 69.6±0.2ms 92.9±0.4ms 1.34 frame_methods.Repr.time_frame_repr_wide + 2.91±0.02ms 3.88±0.05ms 1.33 arithmetic.Ops.time_frame_add(False, 'default') + 9.07±0.4ms 12.1±0.3ms 1.33 join_merge.Join.time_join_dataframe_index_single_key_small(True) + 848±9ms 1.13±0.03s 1.33 groupby.String.time_str_func('string[python]', 'any') + 66.7±0.5ms 88.5±1ms 1.33 stat_ops.FrameMultiIndexOps.time_op(1, 'skew') + 848±10ms 1.13±0.03s 1.33 groupby.String.time_str_func('string[python]', 'all') + 1.28±0.02ms 1.69±0.02ms 1.33 reindex.ReindexMethod.time_reindex_method('pad', ) + 2.37±0.02ms 3.14±0.05ms 1.32 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 5.83±0.03ms 7.70±0.06ms 1.32 stat_ops.FrameMultiIndexOps.time_op(1, 'sum') + 11.3±0.2ms 14.9±0.2ms 1.32 join_merge.Join.time_join_dataframe_index_single_key_bigger(True) + 2.92±0.2ms 3.85±0.03ms 1.32 arithmetic.Ops.time_frame_mult(False, 'default') + 37.0±0.05ms 48.7±0.3ms 1.32 frame_methods.Equals.time_frame_nonunique_equal + 11.3±0.2ms 14.8±0.4ms 1.32 join_merge.Join.time_join_dataframe_index_shuffle_key_bigger_sort(True) + 37.2±0.05ms 49.0±0.1ms 1.32 frame_methods.Equals.time_frame_nonunique_unequal + 37.3±0.4ms 49.0±0.1ms 1.31 arithmetic.Ops2.time_frame_float_div + 5.81±0.03ms 7.62±0.03ms 1.31 stat_ops.FrameMultiIndexOps.time_op(1, 'mean') + 2.37±0.02ms 3.10±0.04ms 1.31 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 1.83±0.01ms 2.38±0.02ms 1.30 groupby.GroupByMethods.time_dtype_as_group('float', 'cumprod', 'transformation', 5) + 125±2μs 163±4μs 1.30 indexing.IndexSingleRow.time_loc_row(True) + 2.95±0.03ms 3.84±0.05ms 1.30 arithmetic.Ops.time_frame_mult(False, 1) + 1.74±0.01ms 2.27±0.01ms 1.30 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumprod', 'transformation', 5) + 115±1μs 149±4μs 1.30 indexing.IndexSingleRow.time_iloc_row(False) + 1.77±0.01μs 2.30±0.03μs 1.30 indexing.GetItemSingleColumn.time_frame_getitem_single_column_int + 2.98±0.1ms 3.87±0.03ms 1.30 arithmetic.Ops.time_frame_add(False, 1) + 2.31±0.02ms 2.99±0.03ms 1.29 groupby.GroupByMethods.time_dtype_as_group('uint', 'sum', 'transformation', 5) + 1.77±0.01ms 2.28±0.01ms 1.29 groupby.GroupByMethods.time_dtype_as_group('int', 'cumprod', 'transformation', 5) + 143±0.9μs 185±2μs 1.29 indexing.DataFrameStringIndexing.time_boolean_rows + 3.71±0.03ms 4.79±0.06ms 1.29 stat_ops.FrameOps.time_op('sem', 'int', 1) + 148±1μs 191±2μs 1.29 indexing.DataFrameStringIndexing.time_boolean_rows_boolean + 4.74±0.05ms 6.09±0.03ms 1.29 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'float32') + 2.29±0.02ms 2.95±0.03ms 1.28 groupby.GroupByMethods.time_dtype_as_group('uint', 'prod', 'transformation', 5) + 1.01±0.01s 1.29±0.03s 1.28 groupby.String.time_str_func('string[python]', 'first') + 1.02±0.01s 1.31±0.02s 1.28 groupby.String.time_str_func('string[python]', 'last') + 124±2μs 159±2μs 1.28 indexing.IndexSingleRow.time_loc_row(False) + 606±2μs 775±7μs 1.28 groupby.Datelike.time_sum('date_range') + 22.2±0.2ms 28.4±0.1ms 1.28 groupby.Cumulative.time_frame_transform('Int64', 'cummax') + 22.0±0.05ms 28.1±0.09ms 1.28 groupby.Cumulative.time_frame_transform('Int64', 'cummin') + 40.2±0.4ms 51.2±0.3ms 1.27 reshape.ReshapeExtensionDtype.time_transpose('Period[s]') + 5.37±0.06ms 6.81±0.04ms 1.27 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'float64') + 208±1ms 262±2ms 1.26 frame_methods.GetDtypeCounts.time_info + 2.33±0.01ms 2.94±0.02ms 1.26 groupby.GroupByMethods.time_dtype_as_group('int', 'prod', 'transformation', 5) + 190±1μs 240±0.7μs 1.26 indexing.NumericSeriesIndexing.time_loc_slice(, 'nonunique_monotonic_inc') + 3.82±0.01ms 4.81±0.02ms 1.26 stat_ops.FrameOps.time_op('median', 'int', 1) + 10.8±0.06ms 13.6±0.3ms 1.26 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 9.02±0.1ms 11.3±0.03ms 1.26 stat_ops.FrameMultiIndexOps.time_op(1, 'sem') + 2.46±0.02ms 3.10±0.03ms 1.26 groupby.GroupByMethods.time_dtype_as_group('float', 'prod', 'transformation', 5) + 2.35±0.02ms 2.95±0.02ms 1.26 groupby.GroupByMethods.time_dtype_as_group('int', 'sum', 'transformation', 5) + 248±3ms 311±1ms 1.25 frame_methods.Iteration.time_iterrows + 1.36±0.02ms 1.71±0.01ms 1.25 reindex.ReindexMethod.time_reindex_method('backfill', ) + 9.19±0.04ms 11.5±0.03ms 1.25 stat_ops.FrameMultiIndexOps.time_op(0, 'sem') + 643±3μs 803±4μs 1.25 groupby.Datelike.time_sum('date_range_tz') + 193±3μs 240±3μs 1.25 hash_functions.NumericSeriesIndexing.time_loc_slice(, 1000000) + 1.97±0.02ms 2.46±0.02ms 1.25 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'direct', 5) + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw_read_first + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_raw_start + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples + 328M 409M 1.25 frame_methods.Iteration.peakmem_itertuples_start + 2.48±0.03ms 3.10±0.02ms 1.25 groupby.GroupByMethods.time_dtype_as_group('float', 'sum', 'transformation', 5) + 1.97±0.04ms 2.45±0.03ms 1.25 groupby.GroupByMethods.time_dtype_as_group('uint', 'sem', 'direct', 5) + 110±0.9μs 137±0.4μs 1.24 hash_functions.NumericSeriesIndexing.time_loc_slice(, 500000) + 21.5±0.2μs 26.5±0.2μs 1.24 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 1.68±0ms 2.07±0.01ms 1.23 timeseries.ResampleDataFrame.time_method('max') + 21.2±0.2μs 26.2±0.3μs 1.23 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 1.98±0.02ms 2.44±0.02ms 1.23 reshape.SimpleReshape.time_unstack + 4.59±0.02ms 5.65±0.02ms 1.23 stat_ops.FrameOps.time_op('median', 'float', 1) + 978±8ms 1.20±0s 1.23 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'mad') + 44.3±0.1μs 54.4±0.3μs 1.23 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 21.4±0.07μs 26.3±0.3μs 1.23 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 181±1μs 223±2μs 1.23 indexing.DataFrameStringIndexing.time_boolean_rows_object + 44.2±0.2μs 54.3±0.4μs 1.23 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 44.1±0.2μs 54.1±0.3μs 1.23 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 1.32±0.02ms 1.61±0.03ms 1.23 reindex.ReindexMethod.time_reindex_method('backfill', ) + 21.3±0.2μs 26.0±0.1μs 1.22 indexing.NumericSeriesIndexing.time_iloc_slice(, 'nonunique_monotonic_inc') + 2.04±0.02ms 2.49±0.01ms 1.22 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct', 5) + 1.15±0ms 1.41±0ms 1.22 groupby.GroupByMethods.time_dtype_as_group('object', 'rank', 'direct', 5) + 32.3±0.2ms 39.2±0.08ms 1.21 arithmetic.Ops2.time_frame_float_mod + 21.3±0.2μs 25.9±0.2μs 1.21 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 45.1±0.4μs 54.6±0.4μs 1.21 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 4.10±0.01ms 4.96±0.1ms 1.21 stat_ops.Correlation.time_corr_wide('pearson') + 45.2±0.6μs 54.7±0.4μs 1.21 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 37.0±0.5μs 44.8±0.4μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'nonunique_monotonic_inc') + 9.87±0.3ms 11.9±0.3ms 1.21 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'std') + 37.1±0.4μs 44.9±0.2μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'unique_monotonic_inc') + 37.0±0.2μs 44.8±0.3μs 1.21 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('string', 'non_monotonic') + 10.0±0.2ms 12.1±0.3ms 1.21 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'var') + 3.31±0.02ms 3.98±0.03ms 1.20 arithmetic.Ops.time_frame_add(True, 1) + 9.33±0.03ms 11.2±0.1ms 1.20 join_merge.Concat.time_concat_small_frames(0) + 21.4±0.2μs 25.8±0.2μs 1.20 indexing.NumericSeriesIndexing.time_iloc_slice(, 'unique_monotonic_inc') + 45.4±0.7μs 54.4±0.5μs 1.20 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 5.18±0.04ms 6.21±0.04ms 1.20 stat_ops.FrameMultiIndexOps.time_op(0, 'prod') + 1.66±0.01ms 1.99±0.01ms 1.20 timeseries.ResampleDataFrame.time_method('min') + 26.6±0.3μs 31.8±0.1μs 1.20 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 47.5±0.5μs 56.8±0.1μs 1.20 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 35.8±0.2μs 42.8±0.09μs 1.20 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 49.9±0.1μs 59.6±0.1μs 1.19 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'unique_monotonic_inc') + 47.4±0.5μs 56.6±0.9μs 1.19 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 7.66±0.2ms 9.10±0.02ms 1.19 frame_methods.Reindex.time_reindex_both_axes + 2.14±0.03μs 2.55±0.02μs 1.19 attrs_caching.DataFrameAttributes.time_set_index + 552±5ns 658±9ns 1.19 attrs_caching.SeriesArrayAttribute.time_array('datetime64tz') + 555±10ns 661±8ns 1.19 attrs_caching.SeriesArrayAttribute.time_array('category') + 112±0.8ms 133±0.7ms 1.19 stat_ops.FrameMultiIndexOps.time_op(1, 'mad') + 5.17±0.03ms 6.15±0.03ms 1.19 stat_ops.FrameMultiIndexOps.time_op(1, 'prod') + 41.5±0.1μs 49.4±0.2μs 1.19 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 61.6±0.3ms 73.2±1ms 1.19 io.style.Render.time_tooltips_render(24, 120) + 32.9±0.3μs 39.0±0.2μs 1.18 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'non_monotonic') + 1.72±0.03ms 2.04±0.1ms 1.18 groupby.GroupByMethods.time_dtype_as_group('datetime', 'quantile', 'direct', 5) + 43.9±0.1μs 52.0±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 210±2μs 249±1μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 26.8±0.2μs 31.7±0.3μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 36.5±0.4μs 43.1±0.2μs 1.18 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 26.8±0.1μs 31.6±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'nonunique_monotonic_inc') + 43.2±0.2ms 51.0±0.2ms 1.18 frame_methods.Isnull.time_isnull_obj + 26.7±0.1μs 31.5±0.2μs 1.18 indexing.NumericSeriesIndexing.time_getitem_slice(, 'unique_monotonic_inc') + 2.96±0.03ms 3.48±0.03ms 1.18 arithmetic.Ops.time_frame_comparison(True, 1) + 33.0±0.8μs 38.8±0.07μs 1.18 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'nonunique_monotonic_inc') + 4.58±0.03μs 5.38±0.05μs 1.18 indexing.DataFrameStringIndexing.time_getitem_scalar + 38.5±0.2μs 45.2±0.5μs 1.17 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'unique_monotonic_inc') + 3.64±0.04ms 4.27±0.02ms 1.17 stat_ops.FrameOps.time_op('mad', 'int', 0) + 87.8±0.5ms 103±0.8ms 1.17 io.style.Render.time_tooltips_render(36, 120) + 4.68±0.03ms 5.49±0.02ms 1.17 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'float32') + 7.19±0.05μs 8.40±0.07μs 1.17 indexing.DataFrameStringIndexing.time_loc + 49.8±0.3μs 58.1±0.5μs 1.17 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 1.65±0ms 1.92±0.01ms 1.17 groupby.GroupByMethods.time_dtype_as_group('int', 'quantile', 'direct', 5) + 1.92±0.01ms 2.23±0.02ms 1.16 groupby.GroupByMethods.time_dtype_as_group('uint', 'median', 'transformation', 5) + 39.2±0.6μs 45.5±0.8μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'non_monotonic') + 61.4±0.2μs 71.1±0.1μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('string', 'nonunique_monotonic_inc') + 33.3±0.5μs 38.5±0.3μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('period', 'unique_monotonic_inc') + 39.1±0.3μs 45.2±0.6μs 1.16 indexing.NonNumericSeriesIndexing.time_getitem_pos_slice('datetime', 'nonunique_monotonic_inc') + 459±2μs 531±2μs 1.16 groupby.GroupManyLabels.time_sum(1) + 43.3±0.2μs 50.0±0.08μs 1.15 indexing.NumericSeriesIndexing.time_loc_slice(, 'unique_monotonic_inc') + 53.5±0.2μs 61.8±0.2μs 1.15 dtypes.SelectDtypes.time_select_dtype_bool_exclude() + 57.6±0.4μs 66.4±0.6μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int8') + 37.2±0.4μs 42.9±0.6μs 1.15 timeseries.SortIndex.time_get_slice(False) + 60.6±0.2μs 69.8±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt16') + 27.8±0.1ms 32.0±0.2ms 1.15 io.hdf.HDF.time_write_hdf('fixed') + 1.83±0.01ms 2.11±0.02ms 1.15 groupby.GroupByMethods.time_dtype_as_group('int', 'var', 'transformation', 5) + 1.94±0.02ms 2.23±0.02ms 1.15 groupby.GroupByMethods.time_dtype_as_group('int', 'median', 'transformation', 5) + 1.99±0.01ms 2.29±0.03ms 1.15 groupby.GroupByMethods.time_dtype_as_group('float', 'median', 'transformation', 5) + 1.75±0ms 2.01±0.01ms 1.15 groupby.GroupByMethods.time_dtype_as_group('float', 'rank', 'direct', 5) + 4.80±0.02μs 5.50±0.08μs 1.15 frame_methods.ToDict.time_to_dict_ints('series') + 1.72±0.1μs 1.97±0.3μs 1.15 index_cached_properties.IndexCache.time_values('PeriodIndex') + 60.5±0.2μs 69.4±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt16') + 61.5±1μs 70.5±0.4μs 1.15 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt32') + 36.6±0.08ms 42.0±0.6ms 1.15 io.style.Render.time_tooltips_render(12, 120) + 1.67±0.01ms 1.91±0.01ms 1.15 groupby.GroupByMethods.time_dtype_as_group('uint', 'quantile', 'direct', 5) + 60.1±0.3μs 68.9±0.2μs 1.15 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt8') + 53.7±0.3μs 61.5±0.3μs 1.15 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 11.6±0.08ms 13.3±0.2ms 1.14 groupby.Apply.time_scalar_function_multi_col(5) + 13.2±0.04ms 15.2±0.2ms 1.14 stat_ops.Rank.time_rank('DataFrame', True) + 57.0±0.3μs 65.2±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int8') + 1.74±0.01ms 1.99±0ms 1.14 groupby.GroupByMethods.time_dtype_as_group('datetime', 'rank', 'direct', 5) + 57.8±0.1μs 66.1±0.1μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int16') + 1.78±0.01ms 2.04±0.01ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'rank', 'direct', 5) + 53.6±0.3μs 61.3±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 53.7±0.6μs 61.5±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude() + 59.6±0.3μs 68.1±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int64') + 15.6±0.05ms 17.8±0.2ms 1.14 io.csv.ReadCSVThousands.time_thousands(',', None, 'c') + 58.5±0.5μs 66.9±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int32') + 61.4±0.2μs 70.2±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt32') + 58.1±0.2μs 66.4±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int16') + 60.1±0.7μs 68.6±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt8') + 1.83±0.01ms 2.09±0.02ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'mean', 'transformation', 5) + 61.4±0.4μs 70.1±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt32') + 53.9±0.8μs 61.5±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude() + 60.2±0.4μs 68.7±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt8') + 60.2±0.2μs 68.6±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt8') + 1.79±0ms 2.04±0.01ms 1.14 groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'direct', 5) + 57.3±0.3μs 65.2±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int8') + 61.6±0.2μs 70.2±0.5μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt32') + 61.0±0.2μs 69.4±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt16') + 59.7±0.2μs 67.9±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int64') + 58.0±0.1μs 66.1±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int16') + 58.6±0.2μs 66.7±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('Int32') + 53.8±0.2μs 61.2±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude() + 57.4±0.5μs 65.3±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_string_exclude('Int8') + 1.70±0.01ms 1.93±0.04ms 1.14 frame_methods.Interpolate.time_interpolate_some_good(None) + 15.8±0.01ms 18.0±0.06ms 1.14 stat_ops.Correlation.time_corr_wide_nans('pearson') + 2.07±0.01ms 2.35±0.03ms 1.14 groupby.GroupByMethods.time_dtype_as_group('uint', 'max', 'transformation', 5) + 1.69±0ms 1.92±0ms 1.14 groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'direct', 5) + 30.4±0.02ms 34.5±0.3ms 1.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 62.1±0.2μs 70.6±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('UInt64') + 62.3±0.3μs 70.8±0.2μs 1.14 dtypes.SelectDtypes.time_select_dtype_int_exclude('UInt64') + 30.3±0.1ms 34.5±0.3ms 1.14 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 59.8±0.09μs 67.9±0.4μs 1.14 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int64') + 25.5±0.09ms 28.9±0.1ms 1.14 rolling.Apply.time_rolling('Series', 3, 'float', , False) + 15.5±0.02ms 17.6±0.1ms 1.14 io.csv.ReadCSVThousands.time_thousands('|', None, 'c') + 85.4±0.3ms 96.9±2ms 1.14 io.json.ToJSON.time_to_json('split', 'df') + 62.1±0.5μs 70.5±0.3μs 1.14 dtypes.SelectDtypes.time_select_dtype_float_exclude('UInt64') + 4.82±0.02μs 5.47±0.03μs 1.14 frame_methods.ToDict.time_to_dict_datetimelike('series') + 2.05±0.02ms 2.32±0ms 1.13 groupby.GroupByMethods.time_dtype_as_group('uint', 'min', 'transformation', 5) + 44.0±0.5μs 49.9±0.2μs 1.13 dtypes.SelectDtypes.time_select_dtype_int_include() + 25.5±0.09ms 29.0±0.2ms 1.13 rolling.Apply.time_rolling('Series', 3, 'int', , False) + 62.0±0.4μs 70.3±0.3μs 1.13 dtypes.SelectDtypes.time_select_dtype_string_exclude('UInt64') + 3.91±0.04ms 4.44±0.05ms 1.13 frame_methods.Rank.time_rank('uint') + 33.2±0.03ms 37.7±0.2ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 13.1±0.05ms 14.8±0.2ms 1.13 stat_ops.Rank.time_rank('DataFrame', False) + 33.1±0.06ms 37.4±0.3ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 25.7±0.3ms 29.0±0.2ms 1.13 rolling.Apply.time_rolling('DataFrame', 3, 'int', , False) + 1.94±0.01ms 2.19±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('float', 'var', 'transformation', 5) + 13.3±0.03ms 15.1±0.2ms 1.13 stat_ops.Rank.time_average_old('DataFrame', False) + 25.6±0.2ms 28.9±0.4ms 1.13 rolling.Apply.time_rolling('DataFrame', 3, 'float', , False) + 28.2±0.5ms 31.9±0.2ms 1.13 groupby.Nth.time_groupby_nth_all('datetime') + 33.3±0.05ms 37.6±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 2.03±0.01ms 2.30±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('uint', 'first', 'transformation', 5) + 1.96±0.01ms 2.22±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('float', 'mean', 'transformation', 5) + 44.5±0.2μs 50.2±0.1μs 1.13 dtypes.SelectDtypes.time_select_dtype_float_include() + 89.3±0.6μs 101±0.9μs 1.13 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct', 1) + 78.4±0.3ms 88.4±2ms 1.13 io.json.ToJSONWide.time_to_json('values', 'df') + 100±0.7μs 113±0.7μs 1.13 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'direct', 5) + 70.8±0.1μs 79.8±0.4μs 1.13 dtypes.SelectDtypes.time_select_dtype_int_exclude('m8[ns]') + 71.2±0.3μs 80.2±1μs 1.13 dtypes.SelectDtypes.time_select_dtype_float_exclude('int16') + 3.93±0.03ms 4.43±0.03ms 1.13 frame_methods.Rank.time_rank('int') + 2.07±0.02ms 2.33±0.01ms 1.13 groupby.GroupByMethods.time_dtype_as_group('int', 'min', 'transformation', 5) + 33.3±0.1ms 37.5±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 88.9±2ms 100±0.9ms 1.13 io.json.ToJSON.time_to_json('split', 'df_date_idx') + 17.7±0.3ms 19.9±0.5ms 1.13 groupby.Cumulative.time_frame_transform_many_nulls('Int64', 'cummax') + 1.07±0s 1.21±0.02s 1.13 groupby.String.time_str_func('str', 'first') + 32.2±0.05ms 36.3±0.1ms 1.13 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 13.5±0.03ms 15.2±0.2ms 1.12 stat_ops.Rank.time_average_old('DataFrame', True) + 2.06±0.03ms 2.32±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('int', 'max', 'transformation', 5) + 2.15±0.01ms 2.42±0.02ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'last', 'transformation', 5) + 1.09±0s 1.23±0.02s 1.12 groupby.String.time_str_func('str', 'last') + 33.4±0.1ms 37.5±0.3ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 59.3±0.9μs 66.6±0.2μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('Int32') + 17.6±0.02ms 19.8±0.1ms 1.12 groupby.Cumulative.time_frame_transform_many_nulls('Int64', 'cummin') + 77.3±0.5ms 86.7±1ms 1.12 io.json.ToJSON.time_to_json('values', 'df_date_idx') + 59.5±0.4μs 66.8±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('Int32') + 52.6±0.2μs 59.0±0.6μs 1.12 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 29.1±0.2ms 32.6±0.2ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 496±9ns 557±8ns 1.12 index_object.IntervalIndexMethod.time_is_unique(100000) + 20.9±0.4ms 23.4±0.7ms 1.12 groupby.Cumulative.time_frame_transform_many_nulls('Float64', 'cummin') + 3.41±0.02ms 3.82±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('int', 'sem', 'transformation', 5) + 70.9±0.1μs 79.5±0.9μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int64') + 2.15±0.01ms 2.41±0.04ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'first', 'transformation', 5) + 1.46±0.01ms 1.64±0ms 1.12 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumsum', 'transformation', 5) + 2.16±0.01ms 2.42±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'min', 'transformation', 5) + 71.0±0.3μs 79.5±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('float32') + 1.33±0.02ms 1.49±0.03ms 1.12 groupby.Datelike.time_sum('period_range') + 70.9±0.3μs 79.3±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('m8[ns]') + 2.18±0.02ms 2.43±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('float', 'max', 'transformation', 5) + 23.7±0.3ms 26.5±0.1ms 1.12 io.style.Render.time_tooltips_render(36, 12) + 70.9±0.4μs 79.3±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('m8[ns]') + 4.27±0.02ms 4.78±0.04ms 1.12 frame_methods.Lookup.time_frame_fancy_lookup + 70.9±0.3μs 79.3±0.8μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint64') + 76.9±0.7ms 86.0±0.5ms 1.12 io.json.ToJSON.time_to_json('values', 'df') + 2.04±0.02ms 2.28±0.03ms 1.12 groupby.GroupByMethods.time_dtype_as_group('uint', 'last', 'transformation', 5) + 102±0.3μs 114±1μs 1.12 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct', 1) + 70.8±0.3μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('M8[ns]') + 3.07±0ms 3.43±0.1ms 1.12 indexing.InsertColumns.time_assign_list_of_columns_concat + 1.89±0.01ms 2.12±0.01ms 1.12 groupby.GroupByMethods.time_dtype_as_group('object', 'last', 'transformation', 5) + 753±10μs 841±10μs 1.12 stat_ops.FrameOps.time_op('sum', 'int', 0) + 70.8±0.3μs 79.1±0.7μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint16') + 70.9±0.3μs 79.3±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('m8[ns]') + 71.3±0.3μs 79.6±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('M8[ns]') + 70.9±0.2μs 79.3±0.8μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int8') + 71.1±0.3μs 79.5±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('int64') + 55.2±0.2μs 61.6±0.3μs 1.12 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'nonunique_monotonic_inc') + 70.8±0.2μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_int_exclude('bool') + 32.4±0.07ms 36.1±0.3ms 1.12 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 80.1±2ms 89.5±2ms 1.12 io.json.ToJSONWide.time_to_json('values', 'df_date_idx') + 70.8±0.2μs 79.0±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('int8') + 11.4±0.03ms 12.7±0.2ms 1.12 groupby.Float32.time_sum + 157±20ms 176±7ms 1.12 gil.ParallelGroupbyMethods.time_loop(8, 'count') + 70.9±0.3μs 79.1±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int32') + 70.7±0.3μs 78.9±0.3μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('int8') + 71.2±0.3μs 79.4±0.9μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('float32') + 70.9±0.4μs 79.1±0.5μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('bool') + 71.1±0.4μs 79.3±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_float_exclude('int64') + 70.7±0.3μs 78.8±0.4μs 1.12 dtypes.SelectDtypes.time_select_dtype_string_exclude('bool') + 29.1±0.05ms 32.4±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 70.9±0.2μs 79.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint8') + 71.4±0.5μs 79.6±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('M8[ns]') + 71.2±0.3μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('float32') + 70.9±0.4μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint16') + 3.42±0.06ms 3.81±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('uint', 'sem', 'transformation', 5) + 70.9±0.2μs 79.0±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint64') + 56.5±0.8μs 62.9±0.2μs 1.11 indexing.DataFrameNumericIndexing.time_loc + 70.9±0.4μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint8') + 70.9±0.3μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('complex128') + 71.2±0.4μs 79.2±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint16') + 71.1±0.5μs 79.1±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint32') + 72.7±0.7μs 81.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('datetime64[ns]') + 71.2±0.4μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('complex128') + 30.3±0.04ms 33.7±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) + 71.0±0.2μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint8') + 51.7±0.6μs 57.5±0.2μs 1.11 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 46.8±3ms 52.0±0.1ms 1.11 io.hdf.HDFStoreDataFrame.time_write_store_table_wide + 71.4±0.3μs 79.4±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('float32') + 1.88±0.02ms 2.09±0.02ms 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'mean', 'transformation', 5) + 71.1±0.3μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int8') + 17.1±0.2ms 19.0±0.09ms 1.11 frame_methods.ToDict.time_to_dict_ints('index') + 28.9±0.6ms 32.1±0.2ms 1.11 arithmetic.Ops2.time_frame_int_mod + 71.1±0.5μs 79.0±0.2μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint32') + 72.6±0.5μs 80.6±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('datetime64[ns]') + 71.4±0.3μs 79.3±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('int16') + 71.3±0.5μs 79.2±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int32') + 71.3±0.4μs 79.2±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('M8[ns]') + 71.2±0.3μs 79.1±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('int32') + 112±0.4μs 124±0.7μs 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct', 5) + 71.0±0.5μs 78.8±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint8') + 71.2±0.2μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('uint64') + 1.57±0.01ms 1.74±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('float', 'cumsum', 'transformation', 5) + 71.0±0.2μs 78.8±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('int16') + 21.8±0.04ms 24.2±0.1ms 1.11 groupby.Cumulative.time_frame_transform('Float64', 'cummax') + 71.3±0.5μs 79.1±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('uint32') + 71.2±0.3μs 78.9±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_int_exclude('int16') + 71.2±0.4μs 79.0±0.4μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('complex128') + 71.5±0.3μs 79.3±0.7μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('complex64') + 1.48±0.02ms 1.64±0.01ms 1.11 groupby.GroupByMethods.time_dtype_as_group('int', 'cumsum', 'transformation', 5) + 28.2±0.07ms 31.2±0.1ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 4, ) + 87.4±3ms 97.0±2ms 1.11 io.json.ToJSONWide.time_to_json('records', 'df') + 71.4±0.3μs 79.2±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('uint32') + 28.1±0.02ms 31.1±0.2ms 1.11 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 5.0, ) + 20.7±0.3ms 22.9±0.08ms 1.11 groupby.Cumulative.time_frame_transform_many_nulls('Float64', 'cummax') + 71.5±0.6μs 79.2±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('float64') + 78.2±8ms 86.6±3ms 1.11 gil.ParallelGroupbyMethods.time_loop(4, 'count') + 71.1±0.2μs 78.8±0.5μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('int32') + 71.5±0.3μs 79.2±0.6μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint64') + 72.7±0.6μs 80.5±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_bool_exclude('datetime64[ns]') + 71.3±0.5μs 78.9±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_string_exclude('complex128') + 973±6μs 1.08±0ms 1.11 stat_ops.FrameOps.time_op('mean', 'int', 0) + 72.3±0.3μs 80.0±0.3μs 1.11 dtypes.SelectDtypes.time_select_dtype_float_exclude('timedelta64[ns]') + 51.5±0.3μs 56.9±0.4μs 1.11 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 10000) + 71.3±0.5μs 78.7±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('float64') + 57.2±0.1μs 63.2±0.7μs 1.10 hash_functions.NumericSeriesIndexing.time_loc_slice(, 10000) + 71.2±0.3μs 78.6±0.2μs 1.10 dtypes.SelectDtypes.time_select_dtype_int_exclude('complex64') + 28.3±0.07ms 31.2±0.3ms 1.10 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 3.0, ) + 71.4±0.5μs 78.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('complex64') + 1.91±0.01ms 2.11±0.02ms 1.10 groupby.GroupByMethods.time_dtype_as_group('object', 'first', 'transformation', 5) + 49.2±0.7μs 54.3±0.3μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'non_monotonic') + 115±1μs 127±0.6μs 1.10 groupby.GroupByMethods.time_dtype_as_field('object', 'shift', 'direct', 5) + 71.5±0.6μs 78.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_string_exclude('complex64') + 983±4μs 1.08±0ms 1.10 stat_ops.FrameOps.time_op('mean', 'float', 0) + 1.47±0.01ms 1.62±0.01ms 1.10 groupby.GroupByMethods.time_dtype_as_group('uint', 'cummax', 'transformation', 5) + 80.5±0.8ms 88.7±0.7ms 1.10 reshape.PivotTable.time_pivot_table_margins + 71.4±0.5μs 78.6±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_bool_exclude('uint16') + 2.05±0.02ms 2.26±0.02ms 1.10 groupby.GroupByMethods.time_dtype_as_group('int', 'last', 'transformation', 5) + 136±0.5ms 150±1ms 1.10 io.stata.StataMissing.time_read_stata('tc') + 73.0±0.5μs 80.4±0.3μs 1.10 dtypes.SelectDtypes.time_select_dtype_float_exclude('datetime64[ns]') + 72.6±0.7μs 79.9±0.4μs 1.10 dtypes.SelectDtypes.time_select_dtype_string_exclude('timedelta64[ns]') + 1.15±0ms 1.27±0.01ms 1.10 stat_ops.Correlation.time_corr('spearman') + 77.8±0.3μs 85.5±0.2μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'non_monotonic') + 87.2±0.4ms 95.8±0.8ms 1.10 io.json.ToJSON.time_to_json('records', 'df') + 71.8±0.8μs 78.9±0.5μs 1.10 dtypes.SelectDtypes.time_select_dtype_int_exclude('float64') + 1.47±0.01ms 1.61±0.01ms 1.10 groupby.GroupByMethods.time_dtype_as_group('int', 'cummin', 'transformation', 5) + 55.1±0.5μs 60.5±0.8μs 1.10 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('period', 'unique_monotonic_inc') + 136±0.6ms 149±1ms 1.10 io.stata.StataMissing.time_read_stata('tw') + 22.4±0.1ms 24.6±0.06ms 1.10 groupby.Cumulative.time_frame_transform('Float64', 'cummin') + 92.0±0.6ms 101±0.6ms 1.10 io.json.ToJSONWide.time_to_json('split', 'df_date_idx') + 32.7±0.2ms 35.8±0.03ms 1.10 rolling.Apply.time_rolling('Series', 300, 'float', , False) + 110±0.5ms 121±3ms 1.09 io.json.ToJSONWide.time_to_json('index', 'df_date_idx') + 36.5±0.6ms 40.0±0.5ms 1.09 join_merge.Merge.time_merge_2intkey(True) + 91.6±0.9μs 100±1μs 1.09 groupby.GroupByMethods.time_dtype_as_field('object', 'head', 'direct', 5) + 65.3±0.5μs 71.3±0.5μs 1.09 indexing.DataFrameNumericIndexing.time_iloc + 891±4μs 972±6μs 1.09 groupby.SumMultiLevel.time_groupby_sum_multiindex + 157±2ms 172±6ms 1.09 frame_methods.ToDict.time_to_dict_datetimelike('list') + 131±1ms 142±2ms 1.09 io.stata.StataMissing.time_read_stata('td') + 167±2ms 181±7ms 1.09 frame_methods.ToDict.time_to_dict_datetimelike('index') + 133±1ms 144±0.9ms 1.09 io.stata.StataMissing.time_read_stata('tm') + 85.4±0.6μs 92.7±0.2μs 1.09 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'nonunique_monotonic_inc') + 32.8±0.08ms 35.6±0.1ms 1.09 rolling.Apply.time_rolling('Series', 300, 'int', , False) + 1.56±0.01ms 1.69±0ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'cummin', 'transformation', 5) + 88.1±0.8ms 95.5±1ms 1.08 io.json.ToJSONWide.time_to_json('split', 'df') + 5.09±0.04μs 5.52±0.1μs 1.08 indexing.NonNumericSeriesIndexing.time_getitem_scalar('period', 'non_monotonic') + 173±1ms 188±7ms 1.08 frame_methods.ToDict.time_to_dict_datetimelike('split') + 1.76±0.01ms 1.90±0.01ms 1.08 groupby.GroupByMethods.time_dtype_as_group('uint', 'std', 'transformation', 5) + 104±0.5ms 113±0.6ms 1.08 io.json.ToJSON.time_to_json('index', 'df') + 74.9±0.6μs 81.1±0.1μs 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'head', 'direct', 1) + 74.0±0.4μs 80.1±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('datetime', 'head', 'direct', 1) + 103±2ms 112±1ms 1.08 io.json.ToJSONWide.time_to_json('index', 'df') + 82.4±0.7μs 89.1±0.6μs 1.08 groupby.GroupByMethods.time_dtype_as_field('object', 'head', 'direct', 1) + 1.46±0.01ms 1.58±0.01ms 1.08 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cummin', 'transformation', 5) + 83.7±0.4μs 90.5±0.8μs 1.08 groupby.GroupByMethods.time_dtype_as_field('int', 'head', 'direct', 5) + 13.5±0.05ms 14.6±0.03ms 1.08 io.csv.ReadCSVSkipRows.time_skipprows(10000, 'c') + 14.5±0.04ms 15.6±0.07ms 1.08 io.style.Render.time_tooltips_render(12, 12) + 109±0.3μs 118±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'direct', 5) + 1.12±0s 1.21±0.02s 1.08 strings.Dummies.time_get_dummies('string[pyarrow]') + 134±0.6ms 145±1ms 1.08 io.stata.StataMissing.time_read_stata('tq') + 3.20±0.01ms 3.45±0.02ms 1.08 series_methods.NanOps.time_func('std', 1000000, 'int8') + 6.23±0.1ms 6.73±0.03ms 1.08 groupby.Apply.time_scalar_function_single_col(5) + 74.6±0.8μs 80.6±0.3μs 1.08 groupby.GroupByMethods.time_dtype_as_group('uint', 'head', 'direct', 1) + 3.68±0.02ms 3.98±0.03ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'transformation', 5) + 67.7±0.7μs 73.1±0.6μs 1.08 groupby.GroupByMethods.time_dtype_as_group('object', 'head', 'direct', 1) + 84.0±0.7μs 90.7±0.4μs 1.08 indexing.NonNumericSeriesIndexing.time_getitem_label_slice('datetime', 'unique_monotonic_inc') + 12.7±0.05ms 13.7±0.09ms 1.08 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (100000, 100)) + 1.58±0.02ms 1.70±0.02ms 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'cummax', 'transformation', 5) + 14.0±0.2ms 15.1±0.04ms 1.08 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'sem') + 53.1±0.3μs 57.3±0.1μs 1.08 dtypes.SelectDtypes.time_select_dtype_bool_include() + 109±0.8μs 118±0.5μs 1.08 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct', 5) + 256±0.9ns 276±6ns 1.08 timeseries.DatetimeIndex.time_is_dates_only('dst') + 128±2μs 137±3μs 1.08 indexing.IntervalIndexing.time_getitem_list + 33.1±0.3ms 35.6±0.1ms 1.08 rolling.Apply.time_rolling('DataFrame', 300, 'float', , False) + 74.3±0.7μs 79.9±0.2μs 1.08 groupby.GroupByMethods.time_dtype_as_field('float', 'head', 'direct', 1) + 146±2μs 157±0.8μs 1.08 groupby.GroupByMethods.time_dtype_as_field('int', 'tail', 'direct', 1) + 1.10±0.01s 1.18±0s 1.08 strings.Dummies.time_get_dummies('str') + 137±0.9ms 147±2ms 1.07 io.json.ToJSONLines.time_floats_with_int_idex_lines + 2.91±0.01ms 3.13±0.01ms 1.07 stat_ops.FrameOps.time_op('skew', 'int', 0) + 4.43±0.05μs 4.75±0.05μs 1.07 indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'non_monotonic') + 83.6±0.3μs 89.7±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_field('float', 'head', 'direct', 5) + 89.5±0.6ms 96.0±0.9ms 1.07 io.json.ToJSON.time_to_json('records', 'df_date_idx') + 177±20ms 190±5ms 1.07 gil.ParallelGroupbyMethods.time_loop(8, 'mean') + 74.9±0.1μs 80.4±0.4μs 1.07 groupby.GroupByMethods.time_dtype_as_field('int', 'head', 'direct', 1) + 35.6±0.03ms 38.2±0.07ms 1.07 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (100000, 100)) + 33.0±0.2ms 35.4±0.07ms 1.07 rolling.Apply.time_rolling('DataFrame', 300, 'int', , False) + 4.01±0.01ms 4.30±0.01ms 1.07 stat_ops.FrameOps.time_op('kurt', 'float', 0) + 145±0.6μs 155±2μs 1.07 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 100000) + 80.9±8ms 86.7±1ms 1.07 gil.ParallelGroupbyMethods.time_loop(4, 'last') + 107±0.8μs 115±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'direct', 5) + 134±1ms 144±2ms 1.07 io.stata.StataMissing.time_read_stata('th') + 22.0±0.09ms 23.6±0.3ms 1.07 stat_ops.FrameMultiIndexOps.time_op(0, 'mad') + 2.53±0.07μs 2.71±0.05μs 1.07 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(0, 'end', 'year', 'QS', 12) + 59.1±0.2μs 63.2±0.2μs 1.07 dtypes.SelectDtypes.time_select_dtype_int_include('Int64') + 2.35±0.01ms 2.51±0.01ms 1.07 groupby.GroupByMethods.time_dtype_as_group('object', 'rank', 'transformation', 5) + 148±2μs 158±0.7μs 1.07 groupby.GroupByMethods.time_dtype_as_field('uint', 'tail', 'direct', 1) + 144±2μs 154±0.8μs 1.07 groupby.GroupByMethods.time_dtype_as_group('uint', 'tail', 'direct', 1) + 1.11±0.01s 1.19±0s 1.07 strings.Dummies.time_get_dummies('string[python]') + 74.9±0.4μs 80.0±0.3μs 1.07 groupby.GroupByMethods.time_dtype_as_field('uint', 'head', 'direct', 1) + 4.17±0.01ms 4.45±0.01ms 1.07 stat_ops.FrameOps.time_op('skew', 'float', 0) + 2.53±0.03μs 2.70±0.05μs 1.07 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'quarter', None, 5) + 1.78±0.01ms 1.90±0.01ms 1.07 groupby.GroupByMethods.time_dtype_as_group('int', 'std', 'transformation', 5) + 3.69±0.02ms 3.93±0.04ms 1.07 frame_methods.Interpolate.time_interpolate_some_good('infer') + 6.91±0.2μs 7.36±0.07μs 1.07 tslibs.timestamp.TimestampProperties.time_is_quarter_start(None, 'B') + 70.6±0.3μs 75.2±0.7μs 1.07 dtypes.SelectDtypes.time_select_dtype_float_include('float64') + 88.2±9ms 93.9±1ms 1.06 gil.ParallelGroupbyMethods.time_loop(4, 'sum') + 35.9±0.2ms 38.2±0.5ms 1.06 groupby.Nth.time_groupby_nth_all('object') + 26.1±0.1ms 27.8±0.05ms 1.06 io.hdf.HDF.time_read_hdf('fixed') + 3.21±0.01ms 3.41±0.03ms 1.06 series_methods.NanOps.time_func('var', 1000000, 'int8') + 28.5±0.08ms 30.3±0.07ms 1.06 rolling.Pairwise.time_groupby(({}, 'expanding'), 'cov', False) + 2.78±0.02ms 2.96±0.01ms 1.06 stat_ops.FrameOps.time_op('kurt', 'int', 0) + 6.11±0.02μs 6.49±0.05μs 1.06 indexing.NonNumericSeriesIndexing.time_getitem_scalar('string', 'unique_monotonic_inc') + 89.6±0.8ms 95.1±0.2ms 1.06 frame_methods.Interpolate.time_interpolate(None) + 11.2±0.1ms 11.9±0.09ms 1.06 io.style.Render.time_apply_render(36, 12) + 16.0±0.2μs 16.9±0.2μs 1.06 indexing.NonNumericSeriesIndexing.time_getitem_scalar('datetime', 'nonunique_monotonic_inc') + 134±1μs 142±1μs 1.06 groupby.GroupByMethods.time_dtype_as_group('datetime', 'tail', 'direct', 1) + 2.51±0.02μs 2.66±0.01μs 1.06 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 12) + 76.1±0.8μs 80.8±0.2μs 1.06 groupby.GroupByMethods.time_dtype_as_group('int', 'head', 'direct', 1) + 137±2ms 145±0.5ms 1.06 io.json.ToJSONLines.time_floats_with_dt_index_lines + 7.18±0.01ms 7.61±0.1ms 1.06 series_methods.NanOps.time_func('sem', 1000000, 'int8') + 170±20ms 180±5ms 1.06 gil.ParallelGroupbyMethods.time_loop(8, 'min') + 30.1±0.06ms 31.9±0.2ms 1.06 rolling.Pairwise.time_groupby(({'window': 1000}, 'rolling'), 'cov', False) + 41.3±0.3ms 43.8±0.4ms 1.06 groupby.Nth.time_frame_nth_any('object') + 81.8±9ms 86.6±0.7ms 1.06 gil.ParallelGroupbyMethods.time_loop(4, 'prod') + 147±1μs 156±3μs 1.06 hash_functions.NumericSeriesIndexingShuffled.time_loc_slice(, 100000) + 70.3±0.2μs 74.4±0.5μs 1.06 dtypes.SelectDtypes.time_select_dtype_bool_include('bool') + 1.64±0ms 1.73±0.01ms 1.06 stat_ops.FrameOps.time_op('var', 'int', 0) + 30.0±0.05ms 31.7±0.05ms 1.06 rolling.Pairwise.time_groupby(({'window': 10}, 'rolling'), 'cov', False) + 70.3±0.2μs 74.3±0.3μs 1.06 dtypes.SelectDtypes.time_select_dtype_int_include('int64') + 2.51±0.02μs 2.65±0.02μs 1.06 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 3) + 3.11±0.01ms 3.29±0.02ms 1.06 groupby.GroupByMethods.time_dtype_as_group('uint', 'quantile', 'transformation', 5) + 2.91±0.04μs 3.07±0.02μs 1.05 series_methods.SeriesGetattr.time_series_datetimeindex_repr + 135±1μs 142±2μs 1.05 groupby.GroupByMethods.time_dtype_as_group('float', 'tail', 'direct', 1) + 260±1μs 273±2μs 1.05 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct', 5) + 30.6±0.1ms 32.2±0.1ms 1.05 rolling.Pairwise.time_groupby(({'window': 10}, 'rolling'), 'corr', False) + 1.89±0.01ms 1.99±0.01ms 1.05 groupby.GroupByMethods.time_dtype_as_group('float', 'std', 'transformation', 5) + 2.55±0.02μs 2.69±0.07μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(0, 'end', 'quarter', 'QS', 5) + 157±1μs 165±0.6μs 1.05 groupby.GroupByMethods.time_dtype_as_field('object', 'tail', 'direct', 1) + 5.20±0.09μs 5.47±0.02μs 1.05 indexing.NumericSeriesIndexing.time_getitem_scalar(, 'unique_monotonic_inc') + 254±2ns 268±1ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_local') + 8.62±0.05ms 9.07±0.1ms 1.05 io.style.Render.time_format_render(36, 12) + 1.65±0.01ms 1.73±0.01ms 1.05 stat_ops.FrameOps.time_op('var', 'float', 0) + 2.56±0.03μs 2.69±0.01μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'start', 'month', 'QS', 5) + 262±1μs 275±3μs 1.05 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'direct', 5) + 288±3ns 303±1ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_naive') + 167±1μs 175±2μs 1.05 groupby.GroupByMethods.time_dtype_as_field('datetime', 'shift', 'direct', 5) + 28.8±0.1ms 30.2±0.2ms 1.05 io.style.Render.time_apply_render(12, 120) + 166±0.8μs 174±1μs 1.05 groupby.GroupByMethods.time_dtype_as_field('float', 'tail', 'direct', 5) + 1.36±0μs 1.43±0.02μs 1.05 attrs_caching.SeriesArrayAttribute.time_extract_array_numpy('object') + 176±2μs 185±0.7μs 1.05 groupby.GroupByMethods.time_dtype_as_field('object', 'tail', 'direct', 5) + 2.64±0.03μs 2.77±0.04μs 1.05 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'quarter', 'QS', 5) + 116±0.7μs 121±0.3μs 1.05 groupby.GroupByMethods.time_dtype_as_field('datetime', 'head', 'direct', 5) + 20.3±0.07ms 21.3±0.05ms 1.05 groupby.AggFunctions.time_different_python_functions_multicol + 254±0.7ns 265±2ns 1.05 timeseries.DatetimeIndex.time_is_dates_only('tz_aware') + 1.34±0.01μs 1.41±0.02μs 1.05 attrs_caching.SeriesArrayAttribute.time_extract_array('datetime64') + 5.35±0.03μs 5.59±0.01μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply() + 3.04±0.01ms 3.18±0ms 1.04 groupby.GroupByMethods.time_dtype_as_group('int', 'rank', 'transformation', 5) + 3.23±0.02ms 3.37±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('float', 'quantile', 'transformation', 5) + 2.55±0.02μs 2.65±0.04μs 1.04 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', None, 5) + 120±0.9μs 125±0.6μs 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'shift', 'direct', 5) + 33.6±0.2ms 35.0±0.8ms 1.04 groupby.Nth.time_series_nth_all('float32') + 3.05±0.02ms 3.18±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'rank', 'transformation', 5) + 10.5±0.05ms 10.9±0.02ms 1.04 frame_methods.Rank.time_rank('float') + 1.56±0.01ms 1.63±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('uint', 'pct_change', 'direct', 5) + 4.50±0.03ms 4.68±0.03ms 1.04 io.csv.ReadCSVParseSpecialDate.time_read_special_date('mdY', 'c') + 45.0±0.2μs 46.8±0.2μs 1.04 indexing.NumericSeriesIndexing.time_iloc_list_like(, 'nonunique_monotonic_inc') + 9.10±0.06ms 9.46±0.05ms 1.04 inference.ToDatetimeISO8601.time_iso8601_infer_zero_tz_fromat + 5.57±0.02μs 5.79±0.07μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply_np_dt64() + 261±0.9μs 272±3μs 1.04 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'direct', 5) + 13.2±0.3μs 13.7±0.06μs 1.04 tslibs.offsets.OffestDatetimeArithmetic.time_apply_np_dt64() + 2.63±0.04μs 2.73±0.02μs 1.04 tslibs.fields.TimeGetStartEndField.time_get_start_end_field(1, 'end', 'month', 'QS', 12) + 1.57±0.01ms 1.63±0.01ms 1.04 groupby.GroupByMethods.time_dtype_as_group('object', 'any', 'transformation', 5) + 38.8±0.06ms 40.2±0.1ms 1.04 groupby.Nth.time_series_nth_any('object') + 1.36±0.01μs 1.41±0.01μs 1.04 attrs_caching.SeriesArrayAttribute.time_extract_array('category') + 1.68±0ms 1.74±0.01ms 1.04 stat_ops.FrameOps.time_op('prod', 'float', 0) + 6.02±0.2μs 6.24±0.1μs 1.04 index_cached_properties.IndexCache.time_engine('DatetimeIndex') + 24.8±0.1ms 25.7±0.07ms 1.04 gil.ParallelGroupbyMethods.time_parallel(2, 'last') + 11.2±0.08ms 11.6±0.05ms 1.04 algorithms.Hashing.time_series_string + 315±0.5ms 326±5ms 1.03 io.json.ReadJSONLines.time_read_json_lines('datetime') + 83.0±0.2ms 85.9±0.6ms 1.03 io.hdf.HDF.time_write_hdf('table') + 6.49±0.03ms 6.72±0.1ms 1.03 frame_methods.Repr.time_html_repr_trunc_mi + 259±0.2ms 268±6ms 1.03 io.json.ReadJSON.time_read_json('records', 'int') + 270±2μs 280±1μs 1.03 hash_functions.NumericSeriesIndexing.time_loc_slice(, 100000) + 1.36±0.01μs 1.41±0.01μs 1.03 attrs_caching.SeriesArrayAttribute.time_extract_array_numpy('datetime64tz') + 188±0.7μs 194±3μs 1.03 groupby.GroupByMethods.time_dtype_as_field('uint', 'first', 'direct', 5) + 540±3μs 558±0.8μs 1.03 groupby.GroupByMethods.time_dtype_as_field('float', 'shift', 'transformation', 1) + 23.3±0.1μs 24.1±0.1μs 1.03 tslibs.offsets.OffestDatetimeArithmetic.time_apply() + 1.30±0.01μs 1.34±0μs 1.03 tslibs.offsets.OnOffset.time_on_offset() + 1.05±0.03μs 1.09±0.04μs 1.03 index_cached_properties.IndexCache.time_is_monotonic_decreasing('Int64Index') + 227±0.7ms 234±0.5ms 1.03 groupby.AggFunctions.time_different_python_functions_singlecol + 26.7±0.2ms 27.5±0.07ms 1.03 gil.ParallelGroupbyMethods.time_parallel(2, 'sum') + 1.68±0.01ms 1.72±0.02ms 1.03 groupby.GroupByMethods.time_dtype_as_group('uint', 'any', 'transformation', 5) + 1.63±0ms 1.67±0.02ms 1.03 groupby.GroupByMethods.time_dtype_as_group('float', 'pct_change', 'direct', 5) + 189±0.5μs 195±0.6μs 1.03 groupby.GroupByMethods.time_dtype_as_field('uint', 'max', 'direct', 5) + 5.43±0.04μs 5.58±0.03μs 1.03 tslibs.offsets.OffestDatetimeArithmetic.time_add_10() + 3.50±0.02ms 3.60±0.02ms 1.03 stat_ops.FrameOps.time_op('sem', 'int', 0) + 1.46±0.01μs 1.50±0.01μs 1.03 tslibs.timestamp.TimestampConstruction.time_from_datetime_aware + 153±1μs 157±0.7μs 1.03 period.Algorithms.time_drop_duplicates('series') + 1.19±0.02ms 1.22±0.02ms 1.03 index_cached_properties.IndexCache.time_engine('MultiIndex') + 431±1ns 442±2ns 1.03 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'non_monotonic', True, 2000000) + 5.23±0.02ms 5.36±0.01ms 1.02 indexing.DataFrameNumericIndexing.time_bool_indexer + 389±0.9μs 398±2μs 1.02 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'direct', 5) + 146±0.5μs 149±0.6μs 1.02 tslibs.period.PeriodProperties.time_property('M', 'end_time') + 2.01±0ms 2.06±0.01ms 1.02 groupby.GroupByMethods.time_dtype_as_field('object', 'rank', 'transformation', 1) + 192±0.3μs 197±0.5μs 1.02 groupby.GroupByMethods.time_dtype_as_field('int', 'min', 'direct', 5) + 3.84±0.02ms 3.93±0.02ms 1.02 stat_ops.FrameOps.time_op('sem', 'float', 0) + 402±0.6ns 411±1ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc((, ), 'monotonic_decr', True, 100000) + 7.01±0.1ms 7.15±0.1ms 1.02 index_cached_properties.IndexCache.time_is_all_dates('CategoricalIndex') + 101±0.1ms 103±0.4ms 1.02 rolling.Apply.time_rolling('Series', 3, 'int', , False) + 5.94±0.01ms 6.06±0.01ms 1.02 io.hdf.HDFStoreDataFrame.time_read_store_table + 71.6±0.3ms 73.0±0.3ms 1.02 rolling.Apply.time_rolling('DataFrame', 300, 'float', , False) + 4.62±0.02ms 4.71±0.06ms 1.02 ctors.SeriesConstructors.time_series_constructor(, False, 'float') + 414±2ns 422±2ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'non_monotonic', True, 100000) + 414±1ns 422±2ns 1.02 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_decr', True, 100000) + 90.6±0.2μs 92.3±0.5μs 1.02 tslibs.timestamp.TimestampOps.time_floor(datetime.timezone.utc) + 73.0±0.5ms 74.3±0.1ms 1.02 rolling.Apply.time_rolling('DataFrame', 300, 'int', at 0x7ff1b2310940>, False) + 4.62±0.03ms 4.70±0.05ms 1.02 ctors.SeriesConstructors.time_series_constructor(, False, 'int') + 79.5±0.3μs 80.9±0.7μs 1.02 tslibs.timestamp.TimestampOps.time_floor(None) + 71.8±0.2ms 72.9±0.1ms 1.02 rolling.Apply.time_rolling('Series', 300, 'float', , False) + 731±0.6ms 743±1ms 1.02 frame_methods.Iteration.time_itertuples_raw_tuples + 68.5±0.7μs 69.6±0.7μs 1.02 ctors.SeriesConstructors.time_series_constructor(, True, 'float') + 73.1±0.2ms 74.2±0.2ms 1.02 rolling.Apply.time_rolling('Series', 300, 'int', at 0x7ff1b2310940>, False) + 4.22±0.03ms 4.28±0.06ms 1.01 ctors.SeriesConstructors.time_series_constructor(, True, 'float') + 73.2±0.2ms 74.2±0.2ms 1.01 rolling.Apply.time_rolling('Series', 300, 'float', at 0x7ff1b2310940>, False) + 804±9μs 815±9μs 1.01 ctors.SeriesConstructors.time_series_constructor(, True, 'int') + 56.2±0.2ms 56.9±0.3ms 1.01 frame_methods.ToHTML.time_to_html_mixed + 198±0.3ms 200±0.7ms 1.01 groupby.Cumulative.time_frame_transform('Float64', 'cumsum') + 103±0.3ms 105±0.04ms 1.01 rolling.Apply.time_rolling('Series', 3, 'float', at 0x7ff1b2310940>, False) - 719±2μs 712±0.9μs 0.99 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation', 1) - 128±1ms 127±0.8ms 0.99 index_cached_properties.IndexCache.time_engine('IntervalIndex') - 535±2μs 529±2μs 0.99 indexing.CategoricalIndexIndexing.time_get_indexer_list('monotonic_decr') - 5.39±0.01ms 5.33±0ms 0.99 rolling.Methods.time_method('Series', ('rolling', {'window': 1000}), 'float', 'count') - 219±7μs 217±7μs 0.99 index_cached_properties.IndexCache.time_is_monotonic('UInt64Index') - 55.2±0.09ms 54.6±0.05ms 0.99 strings.Cat.time_cat(3, None, '-', 0.0) - 35.5±0.04ms 35.1±0.05ms 0.99 arithmetic.FrameWithFrameWide.time_op_different_blocks(, (1000000, 10)) - 1.68±0.02ms 1.66±0.01ms 0.99 index_cached_properties.IndexCache.time_is_all_dates('RangeIndex') - 2.32±0.04ms 2.29±0.02ms 0.99 index_cached_properties.IndexCache.time_is_all_dates('IntervalIndex') - 48.4±0.1ms 47.8±0.1ms 0.99 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float64', 5, 'monotone_misses') - 129±1ms 127±0.7ms 0.99 index_cached_properties.IndexCache.time_is_monotonic_increasing('IntervalIndex') - 840±2ns 828±5ns 0.99 dtypes.Dtypes.time_pandas_dtype() - 320±0.7μs 316±0.6μs 0.99 groupby.GroupByMethods.time_dtype_as_field('object', 'bfill', 'direct', 1) - 4.12±0.2ms 4.06±0.03ms 0.98 index_cached_properties.IndexCache.time_is_unique('MultiIndex') - 632±2μs 622±1μs 0.98 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'transformation', 1) - 33.1±0.1ms 32.5±0.2ms 0.98 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float32', 5, 'random_misses') - 33.0±0.2ms 32.5±0.1ms 0.98 rolling.Rank.time_rank('Series', 10, 'float', True, False, 'min') - 49.5±0.1μs 48.7±0.2μs 0.98 series_methods.NanOps.time_func('sum', 1000, 'float64') - 392±1μs 385±1μs 0.98 groupby.GroupByMethods.time_dtype_as_field('datetime', 'rank', 'direct', 5) - 889±4μs 874±7μs 0.98 frame_ctor.FromRecords.time_frame_from_records_generator(1000) - 217±0.6ns 213±3ns 0.98 libs.ScalarListLike.time_is_scalar(array('123', dtype=', ), 'monotonic_decr', True, 100000) - 3.61±0.01ms 3.53±0.02ms 0.98 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'midpoint') - 414±3μs 405±0.8μs 0.98 groupby.GroupByMethods.time_dtype_as_field('float', 'sem', 'direct', 1) - 844±4ns 824±2ns 0.98 dtypes.Dtypes.time_pandas_dtype() - 34.2±0.2ms 33.4±0.2ms 0.98 rolling.Methods.time_method('Series', ('rolling', {'window': 10}), 'int', 'median') - 20.1±0.2μs 19.7±0.1μs 0.98 series_methods.NanOps.time_func('argmax', 1000, 'int8') - 660±4ns 644±2ns 0.98 tslibs.timestamp.TimestampOps.time_to_pydatetime(tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 2.68±0.03ms 2.62±0ms 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'pct_change', 'direct', 5) - 29.4±0.1μs 28.7±0.2μs 0.98 series_methods.NanOps.time_func('prod', 1000, 'int32') - 418±2μs 408±0.7μs 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'sem', 'direct', 1) - 1.10±0ms 1.07±0ms 0.98 groupby.FillNA.time_srs_ffill - 262±1μs 256±0.5μs 0.98 groupby.GroupByMethods.time_dtype_as_field('uint', 'bfill', 'direct', 5) - 506±1ns 494±2ns 0.98 tslibs.timestamp.TimestampProperties.time_dayofweek(, None) - 54.9±0.1ms 53.6±0.2ms 0.98 io.csv.ReadCSVSkipRows.time_skipprows(10000, 'python') - 1.38±0.01ms 1.34±0ms 0.98 groupby.RankWithTies.time_rank_ties('float32', 'average') - 3.80±0.01ms 3.70±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'min') - 33.5±0.08ms 32.6±0.1ms 0.97 algos.isin.IsInLongSeriesLookUpDominates.time_isin('float32', 5, 'monotone_misses') - 4.28±0.01ms 4.17±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'kurt') - 234±2μs 228±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_field('uint', 'bfill', 'direct', 1) - 3.81±0.02ms 3.71±0.02ms 0.97 libs.InferDtype.time_infer_dtype('py-object') - 2.89±0ms 2.81±0.01ms 0.97 indexing.IntervalIndexing.time_getitem_scalar - 255±0.9μs 248±1μs 0.97 groupby.GroupByMethods.time_dtype_as_field('int', 'ffill', 'direct', 5) - 1.74±0.01ms 1.70±0ms 0.97 rolling.Pairwise.time_pairwise(({'window': 1000}, 'rolling'), 'corr', False) - 258±0.9μs 252±2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'tail', 'direct', 5) - 428±3μs 417±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'sem', 'direct', 1) - 4.28±0.02ms 4.17±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'kurt') - 217±0.5ns 211±3ns 0.97 libs.ScalarListLike.time_is_scalar((1, 2, 3)) - 231±3μs 224±0.7μs 0.97 groupby.GroupByMethods.time_dtype_as_group('int', 'bfill', 'direct', 1) - 2.80±0.01ms 2.72±0ms 0.97 series_methods.NSort.time_nlargest('all') - 21.1±0.1ms 20.5±0.06ms 0.97 groupby.GroupByMethods.time_dtype_as_field('float', 'mad', 'direct', 1) - 175±1ms 170±2ms 0.97 strings.Extract.time_extract_single_group('string[pyarrow]', True) - 4.05±0.02ms 3.94±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'min') - 3.66±0.01ms 3.56±0.02ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'nearest') - 4.09±0.01ms 3.98±0.03ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'max') - 7.00±0.08μs 6.80±0.08μs 0.97 tslibs.period.TimeDT64ArrToPeriodArr.time_dt64arr_to_periodarr(0, 2000, tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 21.2±0.1ms 20.6±0.2ms 0.97 io.sql.WriteSQLDtypes.time_to_sql_dataframe_column('sqlite', 'float_with_nan') - 4.08±0.01ms 3.96±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'max') - 3.76±0.01ms 3.64±0ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'max') - 5.53±0.03ms 5.37±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'count') - 10.7±0.06μs 10.4±0.03μs 0.97 timedelta.TimedeltaIndexing.time_series_loc - 1.28±0.01ms 1.24±0.01ms 0.97 rolling.Pairwise.time_pairwise(({'window': 10}, 'rolling'), 'cov', False) - 3.69±0.01ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'skew') - 3.66±0.01ms 3.55±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'linear') - 3.62±0.02ms 3.51±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'nearest') - 4.20±0.01ms 4.08±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'max') - 3.97±0.01ms 3.85±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'min') - 3.69±0.02ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'min') - 3.56±0.01ms 3.45±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'std') - 22.0±0.2ms 21.3±0.09ms 0.97 stat_ops.SeriesMultiIndexOps.time_op(1, 'skew') - 4.15±0.03ms 4.02±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'min') - 144±1ms 140±0.5ms 0.97 plotting.FramePlotting.time_frame_plot('hist') - 634±4μs 615±0.5μs 0.97 indexing.NonNumericSeriesIndexing.time_getitem_list_like('datetime', 'nonunique_monotonic_inc') - 4.05±0.01ms 3.93±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'min') - 3.66±0.02ms 3.55±0ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'midpoint') - 3.67±0.01ms 3.55±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'max') - 3.69±0.02ms 3.57±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'higher') - 14.5±0.04ms 14.0±0.07ms 0.97 groupby.AggFunctions.time_different_numpy_functions - 2.66±0.02ms 2.58±0.02ms 0.97 io.csv.ReadCSVParseDates.time_multiple_date('python') - 2.62±0.01ms 2.54±0.01ms 0.97 series_methods.NSort.time_nlargest('last') - 3.74±0.03ms 3.62±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'max') - 3.63±0.02ms 3.51±0.02ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 0, 'linear') - 4.02±0.01ms 3.89±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'max') - 3.86±0.01ms 3.74±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'max') - 5.48±0.02ms 5.30±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'count') - 19.9±0.1ms 19.2±0.1ms 0.97 io.sql.WriteSQLDtypes.time_to_sql_dataframe_column('sqlite', 'int') - 3.70±0.01ms 3.58±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'skew') - 3.99±0.03ms 3.86±0.01ms 0.97 io.csv.ReadCSVFloatPrecision.time_read_csv_python_engine(';', '.', None) - 4.63±0.02ms 4.48±0.02ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'kurt') - 3.74±0.02ms 3.61±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'midpoint') - 9.14±0.1μs 8.84±0.02μs 0.97 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(100, tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 5.29±0.03ms 5.11±0.03ms 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'nunique', 'transformation', 5) - 46.4±0.4ms 44.9±0.3ms 0.97 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'direct', 1) - 3.69±0.01ms 3.56±0.01ms 0.97 rolling.Quantile.time_quantile('DataFrame', 1000, 'float', 1, 'higher') - 96.7±0.3μs 93.4±0.2μs 0.97 groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'direct', 1) - 3.36±0.02ms 3.24±0.01ms 0.97 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'min') - 3.57±0.01ms 3.45±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'std') - 4.54±0.02ms 4.38±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'kurt') - 3.99±0.02ms 3.85±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'max') - 3.64±0.02ms 3.51±0.01ms 0.97 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'min') - 3.13±0.01ms 3.02±0.02ms 0.97 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'max') - 150±1ms 145±0.9ms 0.97 stat_ops.SeriesMultiIndexOps.time_op([0, 1], 'kurt') - 253±0.4μs 244±2μs 0.97 join_merge.Concat.time_concat_empty_right(0) - 4.03±0ms 3.89±0.01ms 0.97 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'min') - 1.29±0.01ms 1.24±0ms 0.97 stat_ops.FrameOps.time_op('prod', 'Int64', 0) - 28.2±0.1ms 27.2±0.3ms 0.96 rolling.Groupby.time_method('sum', ('rolling', {'window': '30s', 'on': 'C'})) - 9.80±0.08ms 9.45±0.04ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'sem') - 2.32±0.02ms 2.24±0.02ms 0.96 io.csv.ReadCSVParseDates.time_multiple_date('c') - 4.04±0.03ms 3.89±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'skew') - 267±0.7μs 257±2μs 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'tail', 'direct', 5) - 3.34±0.01ms 3.23±0.01ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'max') - 3.30±0.01ms 3.19±0ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'min') - 2.83±0.01ms 2.73±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'skew') - 2.43±0.01ms 2.34±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'linear') - 3.97±0.01ms 3.83±0ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'skew') - 9.89±0.06ms 9.53±0.06ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'sem') - 3.41±0.2μs 3.29±0.2μs 0.96 index_cached_properties.IndexCache.time_values('TimedeltaIndex') - 4.65±0.01ms 4.48±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'kurt') - 1.13±0ms 1.09±0.01ms 0.96 stat_ops.FrameOps.time_op('sum', 'Int64', 0) - 3.52±0.07ms 3.39±0.02ms 0.96 index_cached_properties.IndexCache.time_is_unique('Float64Index') - 1.41±0.01ms 1.36±0.01ms 0.96 rolling.Apply.time_rolling('DataFrame', 3, 'int', , True) - 4.42±0.03ms 4.26±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'kurt') - 98.1±0.5μs 94.5±0.4μs 0.96 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'direct', 1) - 2.57±0.01ms 2.48±0.04ms 0.96 series_methods.NSort.time_nsmallest('all') - 21.1±0.2ms 20.3±0.04ms 0.96 groupby.GroupByMethods.time_dtype_as_field('int', 'describe', 'direct', 1) - 5.59±0.07ms 5.38±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'count') - 4.03±0.02ms 3.88±0.01ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'skew') - 6.28±0.02ms 6.05±0.02ms 0.96 index_object.SetOperations.time_operation('int', 'symmetric_difference') - 12.4±0.03μs 11.9±0.04μs 0.96 tslibs.tz_convert.TimeTZConvert.time_tz_localize_to_utc(1, tzlocal()) - 2.42±0.02μs 2.33±0.01μs 0.96 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_decr', True, 2000000) - 270±2μs 259±4μs 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'tail', 'direct', 5) - 218±1μs 209±1μs 0.96 join_merge.Concat.time_concat_empty_right(1) - 22.5±0.3μs 21.6±0.1μs 0.96 series_methods.All.time_all(1000, 'fast', 'bool') - 3.48±0.02ms 3.34±0.02ms 0.96 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'std') - 3.75±0.02ms 3.60±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 1, 'linear') - 9.87±0.1ms 9.48±0.04ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'sem') - 3.43±0.02ms 3.30±0.01ms 0.96 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'max') - 36.2±0.09ms 34.8±0.08ms 0.96 groupby.GroupByMethods.time_dtype_as_group('uint', 'describe', 'direct', 1) - 35.5±0.5μs 34.1±0.3μs 0.96 series_methods.NanOps.time_func('argmax', 1000, 'float64') - 30.2±0.5μs 28.9±0.1μs 0.96 series_methods.NanOps.time_func('prod', 1000, 'int8') - 1.53±0.01ms 1.47±0.01ms 0.96 rolling.GroupbyEWM.time_groupby_method('var') - 3.71±0.03ms 3.56±0.02ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'float', 0, 'midpoint') - 1.42±0ms 1.36±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'min') - 2.30±0.01ms 2.21±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'lower') - 1.40±0.04ms 1.34±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('float64', 'dense') - 252±1μs 242±2μs 0.96 join_merge.Concat.time_concat_empty_left(0) - 77.8±0.4ms 74.6±0.6ms 0.96 io.csv.ReadCSVSkipRows.time_skipprows(None, 'python') - 2.44±0ms 2.33±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'nearest') - 36.1±0.2ms 34.6±0.1ms 0.96 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct', 1) - 3.33±0.01ms 3.20±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'std') - 1.42±0ms 1.36±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'max') - 2.46±0.01ms 2.36±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'lower') - 1.79±0.01ms 1.71±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'bfill', 'transformation', 5) - 1.41±0.01ms 1.35±0.01ms 0.96 groupby.RankWithTies.time_rank_ties('datetime64', 'dense') - 1.78±0.01ms 1.71±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'ffill', 'transformation', 5) - 2.47±0.01ms 2.36±0ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'linear') - 107±0.3ms 103±0.6ms 0.96 frame_methods.Apply.time_apply_axis_1 - 3.09±0.01ms 2.96±0.03ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'min') - 1.89±0.02ms 1.81±0.01ms 0.96 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'transformation', 5) - 87.9±0.3ms 84.1±0.7ms 0.96 strings.Methods.time_partition('str') - 176±1μs 168±0.9μs 0.96 groupby.GroupByMethods.time_dtype_as_group('uint', 'head', 'direct', 5) - 3.26±0.02ms 3.12±0.02ms 0.96 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'kurt') - 3.70±0.2μs 3.54±0.2μs 0.96 index_cached_properties.IndexCache.time_values('UInt64Index') - 5.09±0.04ms 4.87±0.02ms 0.96 groupby.GroupByMethods.time_dtype_as_group('datetime', 'nunique', 'transformation', 5) - 2.43±0.01ms 2.32±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'midpoint') - 2.18±0.01ms 2.08±0.01ms 0.96 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'mean') - 79.8±0.9μs 76.2±0.6μs 0.96 indexing.DataFrameNumericIndexing.time_iloc_dups - 2.47±0.01ms 2.36±0.01ms 0.96 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'higher') - 1.05±0.05μs 1.01±0.03μs 0.95 index_cached_properties.IndexCache.time_is_monotonic_decreasing('RangeIndex') - 222±2ms 212±0.8ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'describe', 'direct', 5) - 1.43±0.01ms 1.36±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'shift', 'transformation', 5) - 13.6±0.08ms 13.0±0.03ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'transformation', 1) - 294±2ms 280±1ms 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'describe', 'direct', 5) - 3.19±0.02ms 3.04±0.03ms 0.95 join_merge.Join.time_join_dataframes_cross(False) - 3.80±0.2μs 3.62±0.2μs 0.95 index_cached_properties.IndexCache.time_inferred_type('IntervalIndex') - 10.9±0.06ms 10.4±0.03ms 0.95 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'transformation', 5) - 2.46±0.01ms 2.35±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 1, 'nearest') - 9.45±0.04ms 9.02±0.04ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'direct', 5) - 509±2μs 485±1μs 0.95 groupby.GroupByMethods.time_dtype_as_field('uint', 'sem', 'direct', 5) - 2.44±0.02ms 2.33±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 1, 'higher') - 170±0.7ms 162±0.5ms 0.95 io.stata.Stata.time_write_stata('tw') - 2.33±0.01ms 2.22±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'higher') - 575±2ms 548±4ms 0.95 stat_ops.FrameMultiIndexOps.time_op([0, 1], 'kurt') - 148±0.7ms 141±0.7ms 0.95 stat_ops.SeriesMultiIndexOps.time_op([0, 1], 'skew') - 2.76±0.05μs 2.63±0.01μs 0.95 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('datetime', 1, None) - 2.34±0.06μs 2.23±0.08μs 0.95 index_cached_properties.IndexCache.time_shape('DatetimeIndex') - 36.4±1ms 34.7±0.05ms 0.95 stat_ops.FrameOps.time_op('sum', 'Int64', 1) - 9.33±0.07ms 8.89±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'transformation', 1) - 2.34±0.01ms 2.23±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'midpoint') - 1.45±0ms 1.38±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'ffill', 'transformation', 5) - 2.33±0.02ms 2.22±0ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'linear') - 20.4±0.2ms 19.4±0.08ms 0.95 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'direct', 1) - 13.3±0.1ms 12.6±0.06ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'direct', 1) - 39.1±1ms 37.2±0.2ms 0.95 stat_ops.FrameOps.time_op('mean', 'Int64', 1) - 7.43±0.4μs 7.08±0.3μs 0.95 index_cached_properties.IndexCache.time_inferred_type('Float64Index') - 2.15±0.01ms 2.05±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'mean') - 35.9±0.3ms 34.2±0.7ms 0.95 io.sql.SQL.time_read_sql_query('sqlalchemy') - 1.55±0.02ms 1.47±0.01ms 0.95 rolling.GroupbyEWMEngine.time_groupby_mean('cython') - 5.26±0.03ms 5.01±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'nunique', 'transformation', 5) - 602±10μs 573±20μs 0.95 index_cached_properties.IndexCache.time_is_monotonic('MultiIndex') - 2.34±0ms 2.22±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'nearest') - 8.83±0.08ms 8.40±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_field('int', 'skew', 'direct', 1) - 1.24±0.01ms 1.18±0.01ms 0.95 stat_ops.FrameOps.time_op('mean', 'Int64', 0) - 14.7±0.2ms 14.0±0.03ms 0.95 groupby.AggFunctions.time_different_str_functions - 3.23±0.01ms 3.07±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'std') - 2.39±0.02ms 2.27±0.01ms 0.95 series_methods.NSort.time_nsmallest('first') - 207M 197M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_int_floats') - 2.26±0ms 2.15±0.01ms 0.95 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'std'), 'float') - 10.9±0.5μs 10.4±0.3μs 0.95 index_cached_properties.IndexCache.time_engine('UInt64Index') - 223±1ms 212±1ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'describe', 'direct', 5) - 3.25±0.02ms 3.09±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'std') - 2.44±0ms 2.32±0.04ms 0.95 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'std'), 'int') - 13.7±0.1ms 13.0±0.05ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'skew', 'transformation', 1) - 2.16±0.04μs 2.05±0.01μs 0.95 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(100, datetime.timezone.utc) - 2.33±0.01ms 2.22±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 1000, 'int', 0, 'lower') - 208M 198M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_int_float_str') - 203M 193M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_td_int_ts') - 11.1±0.4μs 10.5±0.3μs 0.95 index_cached_properties.IndexCache.time_engine('TimedeltaIndex') - 208±0.6ms 198±0.6ms 0.95 join_merge.MergeCategoricals.time_merge_cat - 2.50±0.01ms 2.37±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'mean') - 22.6±0.3μs 21.4±0.2μs 0.95 series_methods.Any.time_any(1000, 'slow', 'bool') - 2.51±0ms 2.38±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'mean') - 2.44±0.01ms 2.32±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'int', 'sum') - 4.31±0.03ms 4.09±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'nunique', 'transformation', 5) - 1.70±0.01ms 1.61±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('uint', 'ffill', 'transformation', 5) - 611±2μs 580±6μs 0.95 indexing.NonNumericSeriesIndexing.time_getitem_list_like('string', 'nonunique_monotonic_inc') - 2.65±0.02ms 2.51±0.02ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'mean') - 2.30±0.01ms 2.18±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'mean') - 197M 187M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_int_floats') - 16.1±0.3ms 15.2±0.07ms 0.95 groupby.Nth.time_frame_nth('float64') - 197M 187M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_int_floats') - 9.70±0.1ms 9.19±0.04ms 0.95 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'transformation', 1) - 3.62±0.2μs 3.43±0.2μs 0.95 index_cached_properties.IndexCache.time_values('Float64Index') - 2.98±0.01ms 2.82±0.01ms 0.95 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'kurt') - 2.97±0.01ms 2.81±0ms 0.95 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'kurt') - 3.39±0.03ms 3.21±0.01ms 0.95 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'kurt') - 1.45±0.01ms 1.38±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('object', 'bfill', 'transformation', 5) - 2.32±0.04ms 2.19±0.01ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'higher') - 1.13±0.02ms 1.07±0.01ms 0.95 groupby.FillNA.time_df_ffill - 13.3±0.06ms 12.6±0.08ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'skew', 'direct', 1) - 198M 188M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_int_float_str') - 198M 188M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_int_float_str') - 193M 183M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_td_int_ts') - 193M 183M 0.95 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_td_int_ts') - 603±10μs 571±20μs 0.95 index_cached_properties.IndexCache.time_is_monotonic_increasing('MultiIndex') - 15.9±0.3ms 15.1±0.1ms 0.95 io.csv.ReadCSVParseSpecialDate.time_read_special_date('hm', 'python') - 3.26±0.03ms 3.09±0.02ms 0.95 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'min') - 2.33±0.04ms 2.20±0.02ms 0.95 rolling.Quantile.time_quantile('DataFrame', 10, 'int', 0, 'linear') - 35.0±1μs 33.1±0.2μs 0.95 tslibs.timestamp.TimestampOps.time_replace_tz() - 2.64±0.02ms 2.50±0.01ms 0.95 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'int', 'mean') - 3.27±0.03μs 3.10±0.05μs 0.95 index_object.Indexing.time_get_loc_sorted('Int') - 1.71±0.01ms 1.61±0.01ms 0.95 groupby.GroupByMethods.time_dtype_as_group('int', 'ffill', 'transformation', 5) - 2.15±0.01ms 2.03±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'std') - 8.92±0.1ms 8.42±0.04ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'direct', 1) - 6.57±0.04μs 6.20±0.2μs 0.94 tslibs.timestamp.TimestampOps.time_replace_None() - 9.81±0.09ms 9.27±0.02ms 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'direct', 5) - 2.04±0.05μs 1.92±0.01μs 0.94 tslibs.tz_convert.TimeTZConvert.time_tz_convert_from_utc(1, datetime.timezone.utc) - 2.15±0.01ms 2.03±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'max') - 2.46±0.02ms 2.33±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'int', 'sum') - 2.32±0.01ms 2.19±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1h', 'float', 'sum') - 5.30±0.01ms 5.00±0ms 0.94 groupby.GroupByMethods.time_dtype_as_group('int', 'nunique', 'transformation', 5) - 1.69±0.08μs 1.60±0.1μs 0.94 index_cached_properties.IndexCache.time_inferred_type('PeriodIndex') - 9.41±0.1ms 8.88±0.03ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'transformation', 1) - 181M 170M 0.94 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_td_int_ts') - 2.99±0.02ms 2.82±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'skew') - 181M 170M 0.94 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_td_int_ts') - 9.58±0.09ms 9.03±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_field('uint', 'skew', 'direct', 5) - 1.81±0.01ms 1.70±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'transformation', 5) - 31.7±0.1ms 29.9±0.1ms 0.94 groupby.TransformEngine.time_series_cython(True) - 1.68±0.01ms 1.58±0ms 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'transformation', 5) - 3.26±0.01μs 3.07±0.04μs 0.94 index_object.Indexing.time_get_loc('Int') - 2.34±0ms 2.21±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'sum') - 20.2±0.1ms 19.1±0.1ms 0.94 stat_ops.FrameMultiIndexOps.time_op(0, 'skew') - 1.71±0.02ms 1.62±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('uint', 'bfill', 'transformation', 5) - 3.14±0.1ms 2.96±0.03ms 0.94 index_cached_properties.IndexCache.time_is_unique('DatetimeIndex') - 21.0±0.3ms 19.8±0.1ms 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'skew', 'transformation', 1) - 9.25±0.09ms 8.72±0.1ms 0.94 groupby.GroupByMethods.time_dtype_as_field('float', 'skew', 'direct', 1) - 1.57±0.01ms 1.48±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'bfill', 'transformation', 5) - 1.83±0.01ms 1.72±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'mean') - 76.6±0.4μs 72.1±0.4μs 0.94 series_methods.ToFrame.time_to_frame('Int64', None) - 2.38±0.08μs 2.24±0.01μs 0.94 indexing_engines.NumericEngineIndexing.time_get_loc_near_middle((, ), 'monotonic_incr', False, 100000) - 2.33±0.01ms 2.19±0.01ms 0.94 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'sum') - 1.98±0.01ms 1.86±0.01ms 0.94 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'min') - 76.6±0.1μs 72.0±0.2μs 0.94 series_methods.ToFrame.time_to_frame('int64', None) - 77.6±0.8μs 73.0±0.1μs 0.94 series_methods.ToFrame.time_to_frame('category', None) - 1.99±0.04ms 1.87±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'float', 'sum') - 19.9±0.06ms 18.7±0.05ms 0.94 join_merge.MergeAsof.time_on_int32('nearest', 5) - 1.56±0.01ms 1.47±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('datetime', 'ffill', 'transformation', 5) - 2.33±0.03μs 2.19±0.05μs 0.94 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('time', 1, datetime.timezone.utc) - 19.2±0.05ms 18.0±0.05ms 0.94 join_merge.MergeAsof.time_on_int('nearest', 5) - 2.26±0.01ms 2.12±0.01ms 0.94 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'std'), 'float') - 31.7±0.3ms 29.8±0.2ms 0.94 groupby.TransformEngine.time_series_cython(False) - 1.53±0.02ms 1.43±0.01ms 0.94 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'transformation', 5) - 852±50ns 799±20ns 0.94 index_cached_properties.IndexCache.time_shape('Int64Index') - 10.9±0.06ms 10.2±0.02ms 0.94 io.csv.ReadCSVConcatDatetimeBadDateValue.time_read_csv('0') - 2.05±0.01ms 1.92±0.01ms 0.94 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'std') - 3.17±0.2μs 2.97±0.2μs 0.94 index_cached_properties.IndexCache.time_values('CategoricalIndex') - 4.32±0.2μs 4.05±0.2μs 0.94 index_cached_properties.IndexCache.time_shape('IntervalIndex') - 18.0±0.03ms 16.9±0.06ms 0.94 join_merge.MergeAsof.time_on_uint64('nearest', 5) - 841±40ns 788±40ns 0.94 index_cached_properties.IndexCache.time_shape('RangeIndex') - 6.40±0.08μs 6.00±0.1μs 0.94 tslibs.timestamp.TimestampOps.time_replace_None(tzfile('/usr/share/zoneinfo/Asia/Tokyo')) - 210±1μs 197±1μs 0.94 groupby.GroupByMethods.time_dtype_as_group('object', 'tail', 'direct', 5) - 19.2±0.09ms 17.9±0.03ms 0.94 join_merge.MergeAsof.time_on_int32('nearest', None) - 2.44±0ms 2.28±0.02ms 0.94 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'std'), 'int') - 18.7±0.09ms 17.5±0.05ms 0.94 join_merge.MergeAsof.time_on_int('nearest', None) - 165±0.9ms 154±0.3ms 0.94 strings.Split.time_split('str', True) - 1.16±0.02ms 1.08±0.01ms 0.94 groupby.FillNA.time_df_bfill - 17.3±0.09ms 16.2±0.08ms 0.93 join_merge.MergeAsof.time_on_uint64('nearest', None) - 2.15±0.03ms 2.01±0ms 0.93 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'int', 'sum') - 77.7±0.9μs 72.6±0.1μs 0.93 series_methods.ToFrame.time_to_frame('category', 'foo') - 1.80±0.2μs 1.68±0.07μs 0.93 index_cached_properties.IndexCache.time_values('DatetimeIndex') - 59.4±1ms 55.5±0.2ms 0.93 stat_ops.FrameOps.time_op('skew', 'Int64', 1) - 3.39±0.2μs 3.17±0.2μs 0.93 index_cached_properties.IndexCache.time_values('IntervalIndex') - 2.01±0.01ms 1.87±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 10}), 'float', 'sum') - 1.96±0.02ms 1.83±0ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'mean') - 1.29±0.01ms 1.20±0.01ms 0.93 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'mean'), 'int') - 5.68±0.05ms 5.30±0.04ms 0.93 indexing.MultiIndexing.time_index_slice - 2.55±0.03μs 2.38±0.02μs 0.93 tslibs.tslib.TimeIntsToPydatetime.time_ints_to_pydatetime('time', 1, None) - 212M 198M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_int_floats') - 3.77±0.2μs 3.52±0.2μs 0.93 index_cached_properties.IndexCache.time_inferred_type('CategoricalIndex') - 207M 193M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_date_idx') - 206M 192M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df_date_idx') - 213M 199M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_int_float_str') - 210M 196M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df_td_int_ts') - 208M 193M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_int_floats') - 289±2ms 269±3ms 0.93 groupby.GroupByCythonAgg.time_frame_agg('float64', 'median') - 204M 190M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_int_floats') - 208M 194M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_int_float_str') - 1.96±0.03ms 1.82±0.01ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'mean') - 199M 185M 0.93 io.json.ToJSONWide.peakmem_to_json('columns', 'df') - 77.9±0.4ms 72.4±0.5ms 0.93 stat_ops.FrameMultiIndexOps.time_op(1, 'kurt') - 199M 185M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_date_idx') - 204M 189M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df_td_int_ts') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('records', 'df_date_idx') - 198M 184M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('index', 'df_date_idx') - 1.69±0.01ms 1.57±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'sum') - 197M 183M 0.93 io.json.ToJSONWide.peakmem_to_json('index', 'df') - 196M 182M 0.93 io.json.ToJSONWide.peakmem_to_json_wide('columns', 'df') - 200M 186M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_td_int_ts') - 1.61±0.01ms 1.50±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'mean') - 33.0±0.2ms 30.6±0.2ms 0.93 groupby.TransformEngine.time_dataframe_cython(True) - 195M 181M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df') - 195M 181M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_date_idx') - 205M 190M 0.93 io.json.ToJSONWide.peakmem_to_json('records', 'df_int_float_str') - 1.65±0.01ms 1.53±0ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'float', 'sum') - 194M 180M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_date_idx') - 128±1μs 119±0.7μs 0.93 groupby.GroupByMethods.time_dtype_as_field('uint', 'shift', 'direct', 5) - 4.44±0.2μs 4.11±0.1μs 0.93 index_cached_properties.IndexCache.time_engine('PeriodIndex') - 1.31±0.01ms 1.22±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'transformation', 5) - 1.86±0.04ms 1.73±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('int', 'cumcount', 'transformation', 5) - 196M 182M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_int_floats') - 1.29±0.01ms 1.19±0.01ms 0.93 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'mean'), 'int') - 1.47±0.01ms 1.36±0.01ms 0.93 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'transformation', 5) - 115±1μs 107±1μs 0.93 groupby.GroupByMethods.time_dtype_as_field('uint', 'shift', 'direct', 1) - 1.65±0.01ms 1.52±0.01ms 0.93 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'float', 'sum') - 15.3±0.08ms 14.2±0.03ms 0.93 join_merge.MergeAsof.time_on_int('forward', 5) - 188M 174M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df') - 187M 173M 0.93 io.json.ToJSONWide.peakmem_to_json('values', 'df') - 197M 182M 0.93 io.json.ToJSONWide.peakmem_to_json('split', 'df_int_float_str') - 1.55±0.01ms 1.44±0.01ms 0.93 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'sum') - 123±0.9μs 114±0.5μs 0.93 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct', 5) - 187M 173M 0.93 io.json.ToJSONWide.peakmem_to_json('values', 'df_date_idx') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_date_idx') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_int_floats') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_date_idx') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_int_floats') - 1.04±0.01ms 960±6μs 0.92 groupby.GroupByMethods.time_dtype_as_group('object', 'cumcount', 'direct', 5) - 1.07±0.01ms 994±5μs 0.92 groupby.GroupByMethods.time_dtype_as_group('float', 'cumcount', 'direct', 5) - 72.7±0.2ms 67.2±0.3ms 0.92 join_merge.MergeOrdered.time_merge_ordered - 207M 192M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_int_float_str') - 190M 176M 0.92 io.json.ToJSONWide.peakmem_to_json('split', 'df_td_int_ts') - 189M 175M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_int_floats') - 206M 191M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_int_floats') - 1.74±0.01ms 1.61±0.01ms 0.92 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'int', 'mean') - 203M 188M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_date_idx') - 204M 188M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df_td_int_ts') - 187M 173M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_td_int_ts') - 190M 176M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('split', 'df_int_float_str') - 190M 175M 0.92 io.json.ToJSONWide.peakmem_to_json_wide('values', 'df_int_float_str') - 4.05±0.2μs 3.74±0.2μs 0.92 index_cached_properties.IndexCache.time_shape('Float64Index') - 2.16±0.03ms 1.99±0.01ms 0.92 rolling.Methods.time_method('DataFrame', ('rolling', {'window': 1000}), 'int', 'sum') - 3.63±0.1μs 3.35±0.1μs 0.92 index_cached_properties.IndexCache.time_inferred_type('MultiIndex') - 202M 186M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_int_float_str') - 202M 186M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_int_floats') - 7.97±0.3μs 7.36±0.3μs 0.92 index_cached_properties.IndexCache.time_inferred_type('UInt64Index') - 1.06±0.02ms 980±4μs 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'cumcount', 'direct', 5) - 108±0.7μs 100.0±0.4μs 0.92 groupby.GroupByMethods.time_dtype_as_group('float', 'shift', 'direct', 1) - 808±40ns 745±4ns 0.92 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(100, 12000) - 199M 183M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_int_float_str') - 69.6±0.6ms 64.2±0.3ms 0.92 groupby.GroupByMethods.time_dtype_as_field('datetime', 'unique', 'direct', 1) - 190M 175M 0.92 io.json.ToJSONWide.peakmem_to_json('values', 'df_int_float_str') - 198M 183M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_int_floats') - 1.10±0.01ms 1.01±0.01ms 0.92 groupby.GroupByMethods.time_dtype_as_group('uint', 'cumcount', 'direct', 5) - 106±0.5μs 97.4±0.7μs 0.92 groupby.GroupByMethods.time_dtype_as_group('object', 'shift', 'direct', 1) - 38.6±0.2ms 35.5±0.4ms 0.92 groupby.GroupByMethods.time_dtype_as_field('uint', 'unique', 'direct', 1) - 195M 180M 0.92 io.json.ToJSON.peakmem_to_json('columns', 'df') - 197M 181M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_td_int_ts') - 195M 179M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df_date_idx') - 463±20μs 426±4μs 0.92 arithmetic.NumericInferOps.time_multiply() - 193M 178M 0.92 io.json.ToJSON.peakmem_to_json('index', 'df') - 110±0.6μs 101±0.8μs 0.92 groupby.GroupByMethods.time_dtype_as_field('int', 'shift', 'direct', 1) - 193M 178M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_td_int_ts') - 15.2±0.01ms 14.0±0.08ms 0.92 join_merge.MergeAsof.time_on_int('forward', None) - 190M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_date_idx') - 191M 176M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df') - 191M 176M 0.92 io.json.ToJSON.peakmem_to_json('records', 'df_date_idx') - 190M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_int_floats') - 1.17±0ms 1.08±0ms 0.92 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 1000}, 'mean'), 'float') - 191M 175M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df_int_float_str') - 3.98±0.2μs 3.66±0.1μs 0.92 index_cached_properties.IndexCache.time_shape('CategoricalIndex') - 16.4±0.1ms 15.1±0.09ms 0.92 join_merge.MergeAsof.time_on_int32('forward', 5) - 696±9μs 638±5μs 0.92 groupby.Shift.time_fill_value - 1.42±0.01ms 1.30±0.01ms 0.92 groupby.GroupByMethods.time_dtype_as_group('datetime', 'shift', 'transformation', 5) - 184M 169M 0.92 io.json.ToJSON.peakmem_to_json('split', 'df') - 111±2μs 102±0.7μs 0.92 groupby.GroupByMethods.time_dtype_as_group('int', 'shift', 'direct', 1) - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df') - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_date_idx') - 25.8±0.05ms 23.6±0.05ms 0.92 stat_ops.FrameMultiIndexOps.time_op(0, 'kurt') - 38.7±0.3ms 35.4±0.1ms 0.92 groupby.GroupByMethods.time_dtype_as_field('int', 'unique', 'direct', 1) - 1.18±0ms 1.08±0ms 0.92 rolling.EWMMethods.time_ewm('DataFrame', ({'halflife': 10}, 'mean'), 'float') - 122±0.7ms 112±0.6ms 0.92 strings.Split.time_rsplit('str', True) - 184M 169M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_int_float_str') - 183M 168M 0.92 io.json.ToJSON.peakmem_to_json('values', 'df_int_floats') - 56.7±0.3ms 51.9±0.7ms 0.92 groupby.GroupByMethods.time_dtype_as_group('uint', 'unique', 'direct', 1) - 183M 168M 0.91 io.json.ToJSON.peakmem_to_json('split', 'df_td_int_ts') - 180M 165M 0.91 io.json.ToJSON.peakmem_to_json('values', 'df_td_int_ts') - 14.5±0.05ms 13.3±0.08ms 0.91 join_merge.MergeAsof.time_on_uint64('forward', 5) - 1.81±0.03ms 1.65±0.01ms 0.91 rolling.ForwardWindowMethods.time_rolling('DataFrame', 10, 'int', 'sum') - 13.7±0.04ms 12.5±0.06ms 0.91 join_merge.MergeAsof.time_on_int('backward', 5) - 89.5±0.5ms 81.7±0.6ms 0.91 groupby.GroupByMethods.time_dtype_as_group('float', 'unique', 'direct', 1) - 834±40ns 761±5ns 0.91 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(1000000, 12000) - 4.17±0.2μs 3.80±0.2μs 0.91 index_cached_properties.IndexCache.time_shape('UInt64Index') - 138±1μs 126±1μs 0.91 groupby.GroupByMethods.time_dtype_as_group('object', 'head', 'direct', 5) - 70.6±0.7μs 64.4±0.6μs 0.91 timeseries.SortIndex.time_sort_index(True) - 93.1±0.4ms 84.9±0.4ms 0.91 groupby.GroupByMethods.time_dtype_as_group('datetime', 'unique', 'direct', 1) - 15.7±0.07ms 14.3±0.05ms 0.91 join_merge.MergeAsof.time_on_int32('backward', 5) - 36.2±0.3ms 33.0±0.1ms 0.91 rolling.GroupbyLargeGroups.time_rolling_multiindex_creation - 29.1±0.5ms 26.6±0.2ms 0.91 io.sql.SQL.time_read_sql_query('sqlite') - 13.5±0.02ms 12.3±0.09ms 0.91 join_merge.MergeAsof.time_on_int('backward', None) - 14.2±0.04ms 12.9±0.09ms 0.91 join_merge.MergeAsof.time_on_uint64('forward', None) - 79.2±0.5μs 72.1±0.3μs 0.91 series_methods.ToFrame.time_to_frame('datetime64[ns]', None) - 15.3±0.09ms 13.9±0.03ms 0.91 join_merge.MergeAsof.time_on_int32('backward', None) - 900±80ns 819±40ns 0.91 index_cached_properties.IndexCache.time_is_monotonic('RangeIndex') - 835±40ns 759±3ns 0.91 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(10000, 12000) - 21.0±0.1ms 19.0±0.06ms 0.91 reshape.Crosstab.time_crosstab - 79.2±0.3μs 71.9±0.3μs 0.91 series_methods.ToFrame.time_to_frame('datetime64[ns]', 'foo') - 4.19±0.2μs 3.80±0.2μs 0.91 index_cached_properties.IndexCache.time_shape('TimedeltaIndex') - 2.14±0.01ms 1.94±0.01ms 0.91 join_merge.Merge.time_merge_dataframe_integer_key(True) - 525±4μs 476±5μs 0.91 categoricals.Concat.time_concat_overlapping_index - 13.5±0.05ms 12.2±0.03ms 0.91 join_merge.MergeAsof.time_on_uint64('backward', 5) - 88.1±1ms 79.7±3ms 0.90 frame_ctor.FromRecords.time_frame_from_records_generator(None) - 801±40ns 724±4ns 0.90 tslibs.period.TimePeriodArrToDT64Arr.time_periodarray_to_dt64arr(1, 12000) - 2.58±0.02ms 2.34±0.03ms 0.90 reshape.ReshapeExtensionDtype.time_unstack_slow('Period[s]') - 42.0±0.3ms 38.0±0.2ms 0.90 groupby.GroupByMethods.time_dtype_as_field('object', 'unique', 'direct', 1) - 39.3±1ms 35.5±0.06ms 0.90 stat_ops.FrameOps.time_op('prod', 'Int64', 1) - 16.3±0.2ms 14.7±0.3ms 0.90 eval.Query.time_query_datetime_index - 352±1μs 317±2μs 0.90 algos.isin.IsIn.time_isin_mismatched_dtype('object') - 57.4±0.7ms 51.8±0.1ms 0.90 groupby.GroupByMethods.time_dtype_as_group('int', 'unique', 'direct', 1) - 4.18±0.03ms 3.77±0.02ms 0.90 io.sas.SAS.time_read_sas('xport') - 15.6±0.3ms 14.0±0.1ms 0.90 eval.Query.time_query_datetime_column - 757±9μs 681±4μs 0.90 period.Indexing.time_align - 2.26±0.09ms 2.03±0.07ms 0.90 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'count') - 13.2±0.05ms 11.9±0.05ms 0.90 join_merge.MergeAsof.time_on_uint64('backward', None) - 1.83±0ms 1.65±0.01ms 0.90 rolling.ForwardWindowMethods.time_rolling('DataFrame', 1000, 'int', 'sum') - 420±30ns 378±4ns 0.90 dtypes.DtypesInvalid.time_pandas_dtype_invalid('array-string') - 993±2μs 893±7μs 0.90 libs.InferDtype.time_infer_dtype('np-object') - 39.7±0.2ms 35.6±0.2ms 0.90 groupby.GroupByMethods.time_dtype_as_field('float', 'unique', 'direct', 1) - 469±20μs 421±5μs 0.90 arithmetic.NumericInferOps.time_add() - 3.72±0.02ms 3.33±0.02ms 0.90 index_cached_properties.IndexCache.time_is_unique('IntervalIndex') - 706±4μs 632±4μs 0.89 frame_ctor.FromDicts.time_dict_of_categoricals - 1.72±0.1μs 1.54±0.07μs 0.89 index_cached_properties.IndexCache.time_inferred_type('DatetimeIndex') - 1.91±0.02ms 1.70±0.01ms 0.89 io.csv.ReadCSVParseDates.time_baseline('c') - 235±2ms 208±1ms 0.89 io.stata.StataMissing.time_write_stata('tw') - 594±4μs 526±5μs 0.89 join_merge.Append.time_append_mixed - 1.82±0.02ms 1.61±0ms 0.88 join_merge.Merge.time_merge_dataframe_integer_key(False) - 43.0±0.6ms 37.9±0.2ms 0.88 groupby.Sample.time_sample - 9.40±0.5ms 8.28±0.06ms 0.88 arithmetic.FrameWithFrameWide.time_op_same_blocks(, (1000000, 10)) - 50.9±0.2ms 44.8±0.5ms 0.88 groupby.Apply.time_scalar_function_multi_col(4) - 228±2ms 201±1ms 0.88 io.stata.StataMissing.time_write_stata('th') - 230±6ms 203±1ms 0.88 io.stata.StataMissing.time_write_stata('tq') - 218±3ms 192±4ms 0.88 io.stata.StataMissing.time_write_stata('td') - 17.8±0.1ms 15.6±0.1ms 0.88 groupby.Apply.time_scalar_function_single_col(4) - 3.44±0.02ms 3.01±0.02ms 0.87 index_cached_properties.IndexCache.time_is_unique('UInt64Index') - 3.44±0.02ms 3.01±0.02ms 0.87 index_cached_properties.IndexCache.time_is_unique('PeriodIndex') - 4.73±0.09ms 4.13±0.07ms 0.87 frame_methods.Apply.time_apply_pass_thru - 3.70±0.2μs 3.22±0.2μs 0.87 index_cached_properties.IndexCache.time_inferred_type('TimedeltaIndex') - 37.5±0.1μs 32.5±0.4μs 0.87 frame_ctor.FromSeries.time_mi_series - 216±6ms 187±2ms 0.87 io.stata.StataMissing.time_write_stata('tc') - 281±4ms 241±0.9ms 0.86 groupby.MultiColumn.time_lambda_sum - 24.5±0.3ms 20.9±0.1ms 0.86 reshape.Unstack.time_full_product('category') - 150±2ms 127±1ms 0.85 groupby.MultiColumn.time_col_select_lambda_sum - 390±3μs 326±3μs 0.84 timeseries.ResetIndex.time_reset_datetimeindex(None) - 395±2μs 329±3μs 0.83 timeseries.ResetIndex.time_reset_datetimeindex('US/Eastern') - 9.26±0.09ms 7.65±0.7ms 0.83 rolling.VariableWindowMethods.time_method('DataFrame', '1d', 'float', 'sem') - 86.5±0.5ms 71.2±0.3ms 0.82 join_merge.Concat.time_concat_series(1) - 818±2ms 672±10ms 0.82 join_merge.I8Merge.time_i8merge('inner') - 9.26±0.1ms 7.60±0.7ms 0.82 rolling.VariableWindowMethods.time_method('DataFrame', '50s', 'float', 'sem') - 929±8ms 761±4ms 0.82 join_merge.I8Merge.time_i8merge('right') - 819±1ms 671±8ms 0.82 join_merge.I8Merge.time_i8merge('outer') - 22.4±0.09μs 18.3±0.1μs 0.82 frame_ctor.FromNDArray.time_frame_from_ndarray - 19.5±0.07ms 15.8±0.03ms 0.81 strings.Cat.time_cat(0, ',', None, 0.15) - 460±1μs 371±0.9μs 0.81 frame_methods.Shift.time_shift(1) - 854±9ms 684±8ms 0.80 join_merge.I8Merge.time_i8merge('left') - 6.90±0.05ms 5.51±0.6ms 0.80 rolling.Methods.time_method('DataFrame', ('expanding', {}), 'float', 'sem') - 5.95±0.05ms 4.70±0.03ms 0.79 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'Float64') - 7.40±0.05ms 5.84±0.03ms 0.79 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'float64') - 6.52±0.04ms 5.10±0.04ms 0.78 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'Int64') - 5.90±0.03ms 4.59±0.02ms 0.78 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'Int64') - 6.64±0.03ms 5.14±0.04ms 0.77 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'Float64') - 16.4±2ms 12.7±0.07ms 0.77 eval.Eval.time_mult('python', 'all') - 5.99±0.07ms 4.60±0.05ms 0.77 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'Float64') - 2.86±0.01ms 2.20±0.02ms 0.77 reshape.Melt.time_melt_dataframe - 6.00±0.04ms 4.60±0.06ms 0.77 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'Int64') - 9.56±0.08ms 7.24±0.04ms 0.76 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'datetime64[ns, tz]') - 7.22±0.08ms 5.46±0.03ms 0.76 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'float32') - 5.84±0.2ms 4.38±0.3ms 0.75 frame_methods.NSort.time_nlargest_one_column('all') - 3.47±0.1ms 2.58±0.01ms 0.75 frame_ctor.FromArrays.time_frame_from_arrays_float - 5.18±0.2ms 3.87±0.2ms 0.75 frame_methods.NSort.time_nlargest_one_column('last') - 5.88±0.2ms 4.36±0.3ms 0.74 frame_methods.NSort.time_nlargest_one_column('first') - 8.19±0.05ms 5.92±0.1ms 0.72 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'datetime64[ns, tz]') - 7.87±0.08ms 5.68±0.04ms 0.72 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'datetime64[ns, tz]') - 17.5±3ms 12.6±0.08ms 0.72 eval.Eval.time_add('python', 'all') - 7.42±0.1ms 5.26±0.01ms 0.71 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'float64') - 4.36±0.03ms 2.99±0.01ms 0.69 frame_ctor.FromArrays.time_frame_from_arrays_int - 4.47±0.01ms 3.04±0.01ms 0.68 frame_ctor.FromArrays.time_frame_from_arrays_sparse - 7.14±0.08ms 4.79±0.02ms 0.67 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'float32') - 4.58±0.01ms 3.04±0.02ms 0.66 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'Float64') - 4.59±0.01ms 3.04±0.02ms 0.66 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'Int64') - 632±5ms 401±1ms 0.64 frame_methods.Nunique.time_frame_nunique - 27.4±0.4ms 17.1±0.09ms 0.62 indexing.InsertColumns.time_insert_middle - 17.1±0.07ms 10.5±0.1ms 0.62 indexing.InsertColumns.time_insert - 309±3ms 180±2ms 0.58 frame_methods.Fillna.time_frame_fillna(False, 'pad', 'object') - 314±2ms 180±1ms 0.57 frame_methods.Fillna.time_frame_fillna(False, 'bfill', 'object') - 158±0.9ms 90.4±0.7ms 0.57 groupby.Apply.time_copy_overhead_single_col(4) - 409±2ms 230±0.9ms 0.56 groupby.Apply.time_copy_function_multi_col(4) - 17.0±0.07ms 9.28±0.04ms 0.55 indexing.InsertColumns.time_assign_list_like_with_setitem - 17.6±0.1ms 9.38±0.02ms 0.53 indexing.InsertColumns.time_assign_with_setitem - 516±4μs 259±0.8μs 0.50 reindex.Reindex.time_reindex_columns - 169±3μs 76.8±2μs 0.45 indexing.AssignTimeseriesIndex.time_frame_assign_timeseries_index - 525±4ms 238±2ms 0.45 frame_methods.Fillna.time_frame_fillna(True, 'bfill', 'object') - 30.4±0.06ms 13.3±0.1ms 0.44 frame_methods.Reindex.time_reindex_axis1 - 526±8ms 226±1ms 0.43 frame_methods.Fillna.time_frame_fillna(True, 'pad', 'object') - 51.1±0.2ms 20.2±0.05ms 0.40 frame_methods.Rename.time_rename_both_axes - 51.1±0.1ms 20.1±0.2ms 0.39 frame_methods.Rename.time_dict_rename_both_axes - 49.3±0.1ms 18.3±0.07ms 0.37 frame_methods.Rename.time_rename_axis0 - 47.1±0.3ms 16.4±0.2ms 0.35 frame_methods.Rename.time_rename_single - 81.0±0.5μs 28.2±0.4μs 0.35 period.DataFramePeriodColumn.time_setitem_period_column - 44.8±0.2ms 14.2±0.05ms 0.32 frame_methods.Rename.time_rename_axis1 - 111±2ms 23.4±0.06ms 0.21 reshape.Unstack.time_without_last_row('category') - 42.2±0.07ms 3.40±0.03ms 0.08 arithmetic.IntFrameWithScalar.time_frame_op_with_scalar(, 2, ) SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY. PERFORMANCE DECREASED. ```
jbrockmendel commented 2 years ago

Thanks for putting this together @jorisvandenbossche. The discussion seemed quite fair to me, and the only real points of disagreement are entirely subjective (e.g. "X is acceptable IMO").

A few other places where I've found ArrayManager performs exceptionally well (in ways that I don't think that BlockManager can meaningfully optimize):

Assorted Notes:

corleyma commented 1 year ago

@jorisvandenbossche @jbrockmendel This might be a weird place to ask about this, but given the various roadmap/design docs that mentioned the BlockManager refactor as part of the goals for pandas 2.0, and the wide release of pandas 2.0, is there any one place with a summary of where the project is at with respect to the original goals of moving to a 1d block manager?

I am wondering what folks can expect if using Arrow-backed dtypes in pandas 2.0 as it relates to block manager behavior; the changelog for pandas 2.0 is very large and detailed but I couldn't quite find anything that spelled this out at the high level. E.g., I am curious to know the set of operations that are copy-free (no consolidation) when using pandas 2.0 with Arrow-backed dtypes.

jbrockmendel commented 1 year ago

Unless you actively opt in to ArrayManager usage (which hasn't seen much discussion in the last year and change), you won't be affected.

E.g., I am curious to know the set of operations that are copy-free (no consolidation)

automatic consolidation has been removed, so you won't be getting any copies on that front. For more copy-free-ness, I suggest trying out pd.set_option("mode.copy_on_write", True)

rhshadrach commented 1 year ago

The ArrayManager is now deprecated. Closing.