From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 9 Mar 2024 00:57:16 +0000 (+0100) Subject: [3.11] gh-105535 Document potential performance trap during enum creation (GH-107119... X-Git-Tag: v3.11.9~81 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=232b085a0116a99b2455ea5822a2a12099b902ca;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-105535 Document potential performance trap during enum creation (GH-107119) (GH-116512) (cherry picked from commit 601f3a7b3391e9d219a8ec44a6c56d00ce584d2a) Co-authored-by: Nicolas A. Oyarzabal <79150521+nicky-eng@users.noreply.github.com> Co-authored-by: Ethan Furman Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst index 5516eaaf1ef0..ff390897dede 100644 --- a/Doc/library/enum.rst +++ b/Doc/library/enum.rst @@ -270,6 +270,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 @@ -277,6 +279,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.