[Python-Dev] PEP 563: Postponed Evaluation of Annotations
Barry Warsaw
barry at python.org
Fri Nov 3 16:44:59 EDT 2017
On Nov 2, 2017, at 23:22, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Another point worth noting is that merely importing the typing module
> is expensive:
>
> $ python -m perf timeit -s "from importlib import reload; import
> typing" "reload(typing)"
> .....................
> Mean +- std dev: 10.6 ms +- 0.6 ms
>
> 10 ms is a *big* chunk out of a CLI application's startup time budget.
Far and away so, except for the re module.
% ./python.exe -X importtime -c "import typing"
import time: self [us] | cumulative | imported package
import time: 72 | 72 | _codecs
import time: 625 | 696 | codecs
import time: 354 | 354 | encodings.aliases
import time: 713 | 1762 | encodings
import time: 198 | 198 | encodings.utf_8
import time: 98 | 98 | _signal
import time: 233 | 233 | encodings.latin_1
import time: 353 | 353 | _weakrefset
import time: 264 | 617 | abc
import time: 402 | 1018 | io
import time: 136 | 136 | _stat
import time: 197 | 333 | stat
import time: 227 | 227 | genericpath
import time: 377 | 604 | posixpath
import time: 2812 | 2812 | _collections_abc
import time: 787 | 4534 | os
import time: 315 | 315 | _sitebuiltins
import time: 336 | 336 | sitecustomize
import time: 114 | 114 | usercustomize
import time: 1064 | 6361 | site
import time: 160 | 160 | _operator
import time: 1412 | 1571 | operator
import time: 371 | 371 | keyword
import time: 817 | 817 | _heapq
import time: 762 | 1579 | heapq
import time: 272 | 272 | itertools
import time: 635 | 635 | reprlib
import time: 99 | 99 | _collections
import time: 3580 | 8104 | collections
import time: 112 | 112 | _functools
import time: 781 | 892 | functools
import time: 1774 | 2666 | contextlib
import time: 272 | 272 | types
import time: 861 | 1132 | enum
import time: 76 | 76 | _sre
import time: 426 | 426 | sre_constants
import time: 446 | 872 | sre_parse
import time: 414 | 1361 | sre_compile
import time: 79 | 79 | _locale
import time: 190 | 190 | copyreg
import time: 17200 | 19961 | re
import time: 374 | 374 | collections.abc
import time: 15124 | 46226 | typing
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://mail.python.org/pipermail/python-dev/attachments/20171103/6f376571/attachment.sig>
More information about the Python-Dev
mailing list