25.04.18 10:57, Ivan Levkivskyi пише:
On 25 April 2018 at 06:03, INADA Naoki <songofaca...@gmail.com <mailto:songofaca...@gmail.com>> wrote:
    enum class&member creation cost is much heavier than "import enum" cost.
    Especially, "import socket, ssl" is much slower than before...

Is it slow simply because we are creating new  class objects or EnumMeta.__new__ does some extensive calculations? In the latter case rewriting EnumMeta in C might help.

Creating a new function is very cheap -- just around 50 ns on my computer.

Creating a new class is over two orders costly -- around 7 us for an empty class on my computer.

Creating a new Enum class is much more costly -- around 40 us for an empty class (or 50 us for IntEnum) plus 7 us per member.

Creating a new namedtuple type has the same cost as creating Enum class. It was much costly before 3.7.

Thus creating a typical Enum class with 3-5 members is like creating 10 normal classes. Not much modules have 10 classes.

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to