BUG: Fix localize_pydatetime using meta datetimes as Timestamp (#25734) by ArtificialQualia · Pull Request #25746 · pandas-dev/pandas (original) (raw)

%timeit Results

For the performance tests that over both runs had a factor > 1.1 (did not test the factor < 0.9) here are the %timeit results:

multiindex_object.GetLoc.time_large_get_loc
This PR:

In [4]: %timeit get_loc.time_large_get_loc()
11.8 µs ± 52.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Master:

In [4]: %timeit get_loc.time_large_get_loc()
11.7 µs ± 30 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

inference.NumericInferOps.time_subtract(<class 'numpy.int16'>)
This PR:

In [5]: %timeit nio.time_subtract(np.int16)
431 µs ± 2.31 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

Master:

In [5]: %timeit nio.time_subtract(np.int16)
428 µs ± 1.94 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

timeseries.ResampleSeries.time_resample('datetime', '5min', 'mean')
This PR:

In [4]: %timeit rs.time_resample('datetime', '5min', 'mean')
3.68 ms ± 56.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Master:

In [4]: %timeit rs.time_resample('datetime', '5min', 'mean')
3.78 ms ± 41.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

series_methods.NSort.time_nsmallest('last')
This PR:

In [4]: %timeit ns.time_nsmallest('last')
2.04 ms ± 7.51 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Master:

In [4]: %timeit ns.time_nsmallest('last')
2.3 ms ± 13.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

multiindex_object.Integer.time_get_indexer
This PR:

In [4]: %timeit i.time_get_indexer()
1.27 ms ± 9.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

Master:

In [4]: %timeit i.time_get_indexer()
1.28 ms ± 2.73 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

Out of these, the only 'significant' result was series_methods.NSort.time_nsmallest('last') which is a little faster in this PR's code, but that's probably a fluke.