summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGouvernathor <44340603+Gouvernathor@users.noreply.github.com>2023-03-04 15:08:57 (GMT)
committerGitHub <noreply@github.com>2023-03-04 15:08:57 (GMT)
commit90801e48fdd2a57c5c5a5e202ff76c3a7dc42a50 (patch)
tree75ae17280262c19ca440aaa9314bc928d928e4e6
parentc2bd55d26f8eb2850eb9f9026b5d7f0ed1420b65 (diff)
downloadcpython-90801e48fdd2a57c5c5a5e202ff76c3a7dc42a50.zip
cpython-90801e48fdd2a57c5c5a5e202ff76c3a7dc42a50.tar.gz
cpython-90801e48fdd2a57c5c5a5e202ff76c3a7dc42a50.tar.bz2
gh-102302 Micro-optimize `inspect.Parameter.__hash__` (#102303)
-rw-r--r--Lib/inspect.py2
-rw-r--r--Misc/NEWS.d/next/Library/2023-03-04-14-46-47.gh-issue-102302.-b_s6Z.rst1
2 files changed, 2 insertions, 1 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 8bb3a37..166667c 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -2805,7 +2805,7 @@ class Parameter:
return '<{} "{}">'.format(self.__class__.__name__, self)
def __hash__(self):
- return hash((self.name, self.kind, self.annotation, self.default))
+ return hash((self._name, self._kind, self._annotation, self._default))
def __eq__(self, other):
if self is other:
diff --git a/Misc/NEWS.d/next/Library/2023-03-04-14-46-47.gh-issue-102302.-b_s6Z.rst b/Misc/NEWS.d/next/Library/2023-03-04-14-46-47.gh-issue-102302.-b_s6Z.rst
new file mode 100644
index 0000000..aaf4e62
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-03-04-14-46-47.gh-issue-102302.-b_s6Z.rst
@@ -0,0 +1 @@
+Micro-optimise hashing of :class:`inspect.Parameter`, reducing the time it takes to hash an instance by around 40%.