]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-105535 Document potential performance trap during enum creation (GH-107119)
authorNicolas A. Oyarzabal <79150521+nicky-eng@users.noreply.github.com>
Fri, 8 Mar 2024 19:22:17 +0000 (20:22 +0100)
committerGitHub <noreply@github.com>
Fri, 8 Mar 2024 19:22:17 +0000 (11:22 -0800)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Doc/library/enum.rst

index 49bf40aa5a2869473b155811a7f8617c5b2ae6e3..d84d9d9b4161b1e38de0775374f61f701993bf32 100644 (file)
@@ -279,6 +279,8 @@ Data Types
          >>> Color.RED.value
          1
 
+      Value of the member, can be set in :meth:`~object.__new__`.
+
       .. note:: Enum member values
 
          Member values can be anything: :class:`int`, :class:`str`, etc.  If
@@ -286,6 +288,11 @@ Data Types
          appropriate value will be chosen for you.  See :class:`auto` for the
          details.
 
+         While mutable/unhashable values, such as :class:`dict`, :class:`list` or
+         a mutable :class:`~dataclasses.dataclass`, can be used, they will have a
+         quadratic performance impact during creation relative to the
+         total number of mutable/unhashable values in the enum.
+
    .. attribute:: Enum._name_
 
       Name of the member.