Skip to content

REF: de-duplicate vectorized normalize functions #35250

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 3 commits into from

Conversation

jbrockmendel
Copy link
Member

xref #35245.

I think we lose some ground on UTC/naive because a with nogil is removed here. Im OK with this tradeoff since it moves us towards being able to de-duplicate a bunch of code in this file; im hopeful we can eventually get the nogil back (in fact, i think we may be able to get it back for everything but the tzlocal case, and maybe even that pending cython/cython#3733)

       before           after         ratio
     [37662ea3]       [bbdbaae2]
     <ref-fields-offsets>       <ref-normalize>
+      25.2±0.4μs         29.6±2μs     1.17  tslibs.normalize.Normalize.time_normalize_i8_timestamps(10000, None)
+      25.9±0.9μs       29.8±0.9μs     1.15  tslibs.normalize.Normalize.time_normalize_i8_timestamps(10000, datetime.timezone.utc)
-      7.51±0.2μs       6.59±0.3μs     0.88  tslibs.normalize.Normalize.time_is_date_array_normalized(1, tzfile('/usr/share/zoneinfo/Asia/Tokyo'))
-     5.43±0.08ms       4.69±0.1ms     0.86  tslibs.normalize.Normalize.time_normalize_i8_timestamps(100, tzlocal())
-      6.73±0.2μs       5.68±0.2μs     0.84  tslibs.normalize.Normalize.time_is_date_array_normalized(0, <DstTzInfo 'US/Pacific' LMT-1 day, 16:07:00 STD>)
-     1.13±0.03μs         939±20ns     0.83  tslibs.normalize.Normalize.time_is_date_array_normalized(1, datetime.timezone.utc)
-     1.29±0.07μs      1.01±0.01μs     0.79  tslibs.normalize.Normalize.time_is_date_array_normalized(0, datetime.timezone.utc)

@jbrockmendel jbrockmendel deleted the ref-normalize branch November 20, 2021 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant