ENH: Avoiding conversion to NumPy Scalar. Implementation Copy-paste tag in conv_template.py #3556
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.
This pr is based on same rationale and improvement suggested in @raulcota 's pr #2941. For some types, it is a lot faster to just extract the value directly from the Python scalar. It take care of main concerned of code duplication.
Implementation of copy and paste tag in
cove_template.py
copy and paste tag
Example
Here is demo template
Output:
Usage
Here, we could avoid duplicating the whole function body just to add one specific check as per dtype.
Speed Up in Int
1.6 Array * Array
1.0 PyInt * Array
1.1 NyInt32 * Array
1.0 PyInt + Array
1.1 NyInt32 + Array
1.0 PyInt * PyInt
1.0 NyInt32 * NyInt32
2.2 PyInt * NyInt32
2.0 PyInt * Array[1]
2.2 PyInt + NyInt32
8.2 PyInt < NyInt32
1.0 NyInt32 * NyInt32 * NyInt32 * NyInt32 * NyInt32
2.2 NyInt32 ** 2.1828018936
0.9 PyInt ** 2