importing: make importlib_importer recognize .pyc cache (#13239)
Our importer was always parsing from source (which is considerably slower) because the source size recorded in the .pyc file differed from the size of the input file. Override path_stats in the prepending importer to fool it into thinking that the source size is the size *with* the prepended code.
This commit is contained in:
parent
ffe87ed49f
commit
e65b7f8ebf
@ -15,6 +15,12 @@ def __init__(self, full_name, path, prepend=None):
|
|||||||
super(PrependFileLoader, self).__init__(full_name, path)
|
super(PrependFileLoader, self).__init__(full_name, path)
|
||||||
self.prepend = prepend
|
self.prepend = prepend
|
||||||
|
|
||||||
|
def path_stats(self, path):
|
||||||
|
stats = super(PrependFileLoader, self).path_stats(path)
|
||||||
|
if self.prepend:
|
||||||
|
stats["size"] += len(self.prepend) + 1
|
||||||
|
return stats
|
||||||
|
|
||||||
def get_data(self, path):
|
def get_data(self, path):
|
||||||
data = super(PrependFileLoader, self).get_data(path)
|
data = super(PrependFileLoader, self).get_data(path)
|
||||||
if path != self.path or self.prepend is None:
|
if path != self.path or self.prepend is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user