PERF: MultiIndex.union by lukemanley · Pull Request #48752 · pandas-dev/pandas (original) (raw)

cc @phofl - following your improvements to MultiIndex.difference, it looks like we can replace fast_unique_multiple.

     [57630237]       [7d8e3cf8]
     <main>           <multiindex-union>
-      80.0±0.9ms       61.7±0.6ms     0.77  multiindex_object.SetOperations.time_operation('non_monotonic', 'string', 'union')
-        81.7±1ms         61.1±1ms     0.75  multiindex_object.SetOperations.time_operation('monotonic', 'string', 'union')
-      55.6±0.4ms       38.3±0.3ms     0.69  multiindex_object.SetOperations.time_operation('non_monotonic', 'ea_int', 'union')
-        53.8±1ms       36.6±0.8ms     0.68  multiindex_object.SetOperations.time_operation('monotonic', 'ea_int', 'union')
-      34.1±0.4ms       14.2±0.6ms     0.42  multiindex_object.SetOperations.time_operation('non_monotonic', 'int', 'union')
-        33.9±2ms       13.8±0.6ms     0.41  multiindex_object.SetOperations.time_operation('monotonic', 'int', 'union')
-        75.8±4ms       14.9±0.4ms     0.20  multiindex_object.SetOperations.time_operation('non_monotonic', 'datetime', 'union')
-        75.4±3ms       14.3±0.6ms     0.19  multiindex_object.SetOperations.time_operation('monotonic', 'datetime', 'union')
- ```