@@ -1096,7 +1096,9 @@ def _load_json_file(file: str, manager: BuildManager,
1096
1096
if manager .verbosity () >= 2 :
1097
1097
manager .trace (log_success + data .rstrip ())
1098
1098
try :
1099
+ t1 = time .time ()
1099
1100
result = json .loads (data )
1101
+ manager .add_stats (data_json_load_time = time .time () - t1 )
1100
1102
except json .JSONDecodeError :
1101
1103
manager .errors .set_file (file , None )
1102
1104
manager .errors .report (- 1 , - 1 ,
@@ -1979,17 +1981,17 @@ def load_fine_grained_deps(self) -> Dict[str, Set[str]]:
1979
1981
def load_tree (self , temporary : bool = False ) -> None :
1980
1982
assert self .meta is not None , "Internal error: this method must be called only" \
1981
1983
" for cached modules"
1984
+
1985
+ data = _load_json_file (self .meta .data_json , self .manager , "Load tree " ,
1986
+ "Could not load tree: " )
1987
+ if data is None :
1988
+ return None
1989
+
1982
1990
t0 = time .time ()
1983
- raw = self .manager .metastore .read (self .meta .data_json )
1984
- t1 = time .time ()
1985
- data = json .loads (raw )
1986
- t2 = time .time ()
1987
1991
# TODO: Assert data file wasn't changed.
1988
1992
self .tree = MypyFile .deserialize (data )
1989
- t3 = time .time ()
1990
- self .manager .add_stats (data_read_time = t1 - t0 ,
1991
- data_json_load_time = t2 - t1 ,
1992
- deserialize_time = t3 - t2 )
1993
+ t1 = time .time ()
1994
+ self .manager .add_stats (deserialize_time = t1 - t0 )
1993
1995
if not temporary :
1994
1996
self .manager .modules [self .id ] = self .tree
1995
1997
self .manager .add_stats (fresh_trees = 1 )
0 commit comments