Skip to content

REF: remove compute_reduction #32087

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from

Conversation

jbrockmendel
Copy link
Member

Along with #32083, #32086 this gets rid of _libs.reduction.

Now, time to run some asvs

@jbrockmendel jbrockmendel added the Performance Memory or execution speed performance label Feb 19, 2020
@jbrockmendel
Copy link
Member Author

This one had hurt less than I expected:

       before           after         ratio
     <master>         <no-libreduction>
+      10.3±0.2ms       63.0±0.2ms     6.14  frame_methods.Apply.time_apply_ref_by_name
+       240±0.8μs          507±2μs     2.12  indexing_engines.NumericEngineIndexing.time_get_loc((<class 'pandas._libs.index.Int16Engine'>, <class 'numpy.int16'>), 'monotonic_incr')
+       326±0.7μs          506±1μs     1.55  indexing_engines.NumericEngineIndexing.time_get_loc((<class 'pandas._libs.index.Int8Engine'>, <class 'numpy.int8'>), 'monotonic_incr')
+      2.76±0.6μs         4.20±1μs     1.52  index_cached_properties.IndexCache.time_shape('TimedeltaIndex')
+     1.21±0.08μs         1.83±1μs     1.52  index_cached_properties.IndexCache.time_values('UInt64Index')
+        308±20ms         450±20ms     1.46  frame_methods.Nunique.time_frame_nunique
+     1.37±0.05μs       1.91±0.5μs     1.39  index_cached_properties.IndexCache.time_is_all_dates('DatetimeIndex')
+         957±7μs         1.33±0ms     1.39  series_methods.NanOps.time_func('sum', 1000000, 'int8')
+       127±0.9ms          171±2ms     1.35  frame_methods.Apply.time_apply_user_func
+     1.96±0.06μs       2.58±0.6μs     1.32  index_cached_properties.IndexCache.time_inferred_type('MultiIndex')
+     9.03±0.07ms      11.6±0.08ms     1.29  frame_methods.Apply.time_apply_lambda_mean
+     1.30±0.01ms      1.67±0.01ms     1.28  series_methods.NanOps.time_func('prod', 1000000, 'int8')
+        870±30μs       1.11±0.1ms     1.28  binary_ops.Timeseries.time_timestamp_series_compare(None)
+      9.97±0.1ms       12.6±0.2ms     1.26  frame_methods.Apply.time_apply_np_mean
+      2.21±0.9μs       2.77±0.9μs     1.26  index_cached_properties.IndexCache.time_is_all_dates('TimedeltaIndex')
+     1.33±0.04ms      1.66±0.09ms     1.25  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function eq>)
+     1.31±0.02ms       1.63±0.1ms     1.24  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function le>)
+        1.30±0ms       1.61±0.2ms     1.24  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.int64'>, 4, <built-in function ge>)
+      1.80±0.1μs       2.12±0.4μs     1.18  index_cached_properties.IndexCache.time_shape('UInt64Index')
+      11.8±0.3ms       13.9±0.6ms     1.18  groupby.MultiColumn.time_col_select_numpy_sum
+         136±2ms        156±0.9ms     1.15  timeseries.ToDatetimeCache.time_dup_string_tzoffset_dates(False)
+     1.27±0.01ms      1.46±0.09ms     1.15  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 4, <built-in function ge>)
+     8.58±0.04ms       9.85±0.3ms     1.15  algorithms.FactorizeUnique.time_factorize(False, 'string')
+         275±7ms          316±5ms     1.15  timeseries.ToDatetimeISO8601.time_iso8601_tz_spaceformat
+       142±0.2ms         160±20ms     1.13  inference.ToNumericDowncast.time_downcast('string-int', 'float')
+     1.26±0.02ms      1.42±0.02ms     1.13  binary_ops.IntFrameWithScalar.time_frame_op_with_scalar(<class 'numpy.float64'>, 2, <built-in function le>)
+      2.55±0.4μs       2.87±0.2μs     1.13  index_cached_properties.IndexCache.time_values('IntervalIndex')
+      1.58±0.1μs       1.75±0.1μs     1.11  index_cached_properties.IndexCache.time_is_all_dates('MultiIndex')
+        641±30ns         710±30ns     1.11  index_cached_properties.IndexCache.time_is_monotonic_increasing('RangeIndex')
+     22.8±0.05μs         25.1±2μs     1.10  tslibs.offsets.OffestDatetimeArithmetic.time_apply(<CustomBusinessDay>)
-      7.76±0.8μs       7.05±0.3μs     0.91  index_cached_properties.IndexCache.time_engine('Float64Index')
-      2.06±0.2μs      1.87±0.01μs     0.90  tslibs.timestamp.TimestampOps.time_tz_convert(tzutc())
-     1.54±0.01ms      1.37±0.02ms     0.89  inference.NumericInferOps.time_divide(<class 'numpy.uint8'>)
-      5.30±0.1ms       4.71±0.1ms     0.89  index_object.SetOperations.time_operation('int', 'symmetric_difference')
-      13.2±0.2ms       11.7±0.1ms     0.89  groupby.Nth.time_series_nth('float32')
-       805±200μs         700±50μs     0.87  index_cached_properties.IndexCache.time_engine('MultiIndex')
-     12.8±0.06ms       11.1±0.1ms     0.87  multiindex_object.Integer.time_get_indexer
-      2.72±0.4μs      2.30±0.04μs     0.85  index_cached_properties.IndexCache.time_shape('DatetimeIndex')
-     6.39±0.07ms      5.34±0.03ms     0.84  frame_methods.Apply.time_apply_pass_thru
-         589±3ms          406±2ms     0.69  groupby.Transform.time_transform_lambda_max
-        7.16±3μs         4.56±2μs     0.64  index_cached_properties.IndexCache.time_engine('TimedeltaIndex')
-     1.64±0.03ms          962±5μs     0.59  frame_methods.Iteration.time_items_cached

@jbrockmendel
Copy link
Member Author

closing to clear the queue, will reivisit after 1.0.2

@jbrockmendel jbrockmendel added the Mothballed Temporarily-closed PR the author plans to return to label Apr 21, 2020
@jbrockmendel jbrockmendel deleted the no-libreduction branch August 27, 2020 20:17
@jbrockmendel jbrockmendel removed the Mothballed Temporarily-closed PR the author plans to return to label Aug 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Performance Memory or execution speed performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant