mirror of
https://github.com/python/cpython.git
synced 2026-01-06 07:22:09 +00:00
gh-67224: Make linecache imports relative to improve startup speed (#117501)
This commit is contained in:
parent
630df37116
commit
689ada7915
1 changed files with 11 additions and 3 deletions
|
|
@ -5,9 +5,6 @@
|
|||
that name.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
__all__ = ["getline", "clearcache", "checkcache", "lazycache"]
|
||||
|
||||
|
||||
|
|
@ -66,6 +63,11 @@ def checkcache(filename=None):
|
|||
size, mtime, lines, fullname = entry
|
||||
if mtime is None:
|
||||
continue # no-op for files loaded via a __loader__
|
||||
try:
|
||||
# This import can fail if the interpreter is shutting down
|
||||
import os
|
||||
except ImportError:
|
||||
return
|
||||
try:
|
||||
stat = os.stat(fullname)
|
||||
except OSError:
|
||||
|
|
@ -76,6 +78,12 @@ def checkcache(filename=None):
|
|||
|
||||
|
||||
def updatecache(filename, module_globals=None):
|
||||
# These imports are not at top level because linecache is in the critical
|
||||
# path of the interpreter startup and importing os and sys take a lot of time
|
||||
# and slow down the startup sequence.
|
||||
import os
|
||||
import sys
|
||||
|
||||
"""Update a cache entry and return its list of lines.
|
||||
If something's wrong, print a message, discard the cache entry,
|
||||
and return an empty list."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue