PERF/TYP: typing cast in __getitem__ gives quite some overhead #44624
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
While doing some unrelated profiling, I noticed typing overhead in
DatetimeArray.__getitem__. Isolating that here, there is a typingcast(..)call in that method, and removing that as done in the PR, I see the following impact:(I did this timing several times back and forth on a computer with no other activity at that moment, and the difference was stable)
Personally, I wouldn't have expected such a relative big impact of a typing cast. Because if that's the case, we should be very careful with using that in "hot paths".
cc @jbrockmendel @simonjayhawkins @Dr-Irv