GeezerVison is showing github.com — `IComparable` and `IEquatable` implementations by lostmsu · Pull Request #2322 · pythonnet/pythonnet
Conversation
lostmsu
commented
Feb 15, 2024
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
IComparable and IEquatable implementations for PyInt, PyFloat, and PyString for primitive .NET types
What does this implement/fix? Explain your changes.
Let's one do PyInt.CompareTo(42) and similar things
Does this close any currently open issues?
N/A
Any other comments?
Should we take GIL in these methods? Might be useful for Array.Sort when called from Python.
On a more general topic: should we have a way for Python to call a .NET method and have it not release the GIL for compatibility with 3rd party (to Python.NET) libraries that assume they can call back any methods they wish at any time. Because having explicit GIL acquisition in CompareTo to use with Array.Sort would kill performance. E.g. something like:
with clr.HoldGIL():
Array.Sort(dotnet_array_of_python_objects)
Checklist
Check all those that are applicable and complete.
- Make sure to include one or more tests for your change
- If an enhancement PR, please create docs and at best an example
- Add yourself to
AUTHORS
- Updated the
CHANGELOG
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Regarding the GIL, maybe we could a custom thread local ref count could speed things up?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…String for primitive .NET types
Reviewers
filmor
filmor approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.