Closed
Description
Comparing 0.19.2 with the latest master, and using a factor of 1.5 as threshold, I get those:
Benchmarks that have got worse:
before after ratio
[6f525eec] [f880728d]
+ 1.50ms 6.70ms 4.46 algorithms.Hashing.time_series_categorical
+ 112.62ms 217.37ms 1.93 frame_methods.frame_duplicated.time_frame_duplicated_wide
+ 11.56ms 20.40ms 1.76 groupby.GroupBySuite.time_unique('float', 100)
+ 1.09s 1.95s 1.78 groupby.GroupBySuite.time_unique('float', 10000)
+ 7.71ms 13.28ms 1.72 groupby.GroupBySuite.time_unique('int', 100)
+ 672.77ms 1.22s 1.82 groupby.GroupBySuite.time_unique('int', 10000)
+ 5.81ms 9.45ms 1.63 groupby.groupby_categorical.time_groupby_nosort
+ 16.47ms 36.74ms 2.23 groupby.groupby_period.time_groupby_sum
+ 46.41ms 127.96ms 2.76 inference.to_numeric_downcast.time_downcast('int-list', 'float')
+ 56.87ms 138.24ms 2.43 inference.to_numeric_downcast.time_downcast('int-list', 'integer')
+ 56.60ms 138.73ms 2.45 inference.to_numeric_downcast.time_downcast('int-list', 'signed')
+ 57.44ms 143.97ms 2.51 inference.to_numeric_downcast.time_downcast('int-list', 'unsigned')
+ 46.16ms 127.57ms 2.76 inference.to_numeric_downcast.time_downcast('int-list', None)
+ 9.34μs 258.21μs 27.64 inference.to_numeric_downcast.time_downcast('int32', 'float')
+ 78.55ms 148.25ms 1.89 inference.to_numeric_downcast.time_downcast('string-float', 'float')
+ 80.55ms 148.59ms 1.84 inference.to_numeric_downcast.time_downcast('string-float', 'integer')
+ 76.44ms 149.57ms 1.96 inference.to_numeric_downcast.time_downcast('string-float', 'signed')
+ 76.39ms 148.51ms 1.94 inference.to_numeric_downcast.time_downcast('string-float', 'unsigned')
+ 75.79ms 148.09ms 1.95 inference.to_numeric_downcast.time_downcast('string-float', None)
+ 147.06ms 273.70ms 1.86 inference.to_numeric_downcast.time_downcast('string-int', 'float')
+ 156.82ms 295.98ms 1.89 inference.to_numeric_downcast.time_downcast('string-int', 'integer')
+ 157.41ms 281.58ms 1.79 inference.to_numeric_downcast.time_downcast('string-int', 'signed')
+ 157.77ms 279.80ms 1.77 inference.to_numeric_downcast.time_downcast('string-int', 'unsigned')
+ 146.58ms 269.75ms 1.84 inference.to_numeric_downcast.time_downcast('string-int', None)
+ 148.72ms 266.83ms 1.79 inference.to_numeric_downcast.time_downcast('string-nint', 'float')
+ 157.92ms 271.05ms 1.72 inference.to_numeric_downcast.time_downcast('string-nint', 'integer')
+ 156.89ms 275.78ms 1.76 inference.to_numeric_downcast.time_downcast('string-nint', 'signed')
+ 147.16ms 261.84ms 1.78 inference.to_numeric_downcast.time_downcast('string-nint', 'unsigned')
+ 147.07ms 261.70ms 1.78 inference.to_numeric_downcast.time_downcast('string-nint', None)
+ 717.85μs 3.68ms 5.13 sparse.sparse_arithmetic_block.time_sparse_addition
+ 755.98μs 3.69ms 4.87 sparse.sparse_arithmetic_block.time_sparse_addition_zero
+ 767.81μs 3.85ms 5.02 sparse.sparse_arithmetic_block.time_sparse_division
+ 807.16μs 3.73ms 4.63 sparse.sparse_arithmetic_block.time_sparse_division_zero
+ 599.17μs 3.53ms 5.89 sparse.sparse_arithmetic_block.time_sparse_make_union
+ 13.96ms 40.68ms 2.91 sparse.sparse_arithmetic_int.time_sparse_addition_10percent
+ 11.76ms 37.95ms 3.23 sparse.sparse_arithmetic_int.time_sparse_addition_10percent_zero
+ 1.13ms 4.10ms 3.61 sparse.sparse_arithmetic_int.time_sparse_addition_1percent
+ 14.54ms 41.21ms 2.83 sparse.sparse_arithmetic_int.time_sparse_division_10percent
+ 12.29ms 38.60ms 3.14 sparse.sparse_arithmetic_int.time_sparse_division_10percent_zero
+ 1.20ms 4.11ms 3.42 sparse.sparse_arithmetic_int.time_sparse_division_1percent
+ 1.36ms 2.71ms 1.99 sparse.sparse_arithmetic_int.time_sparse_intersect
+ 12.51ms 39.08ms 3.12 sparse.sparse_arithmetic_int.time_sparse_make_union
+ 18.39μs 87.47μs 4.76 timeseries.AsOfDataFrame.time_asof_single_early
I don't think there are real blockers for 0.20, but the sparse (cc @sinhrks) and to_numeric
downcast (cc @gfyoung) seem to be systematically slower