DescriptionCache data for included files in the multiprocess load codepath
When running gyp with --no-parallel, the build file data for included gypi
files is cached in the 'data' dict, so we never load gypi files more than once.
However, when running in parallel mode, the |data| and |aux_data| parameters
passed to CallLoadTargetBuildFile are always empty. That means gypi files are
reloaded for every single gyp file.
This commit changes CallLoadTargetBuildFile to use a global |per_process_data|
and |per_process_aux_data|, instead of accepting them as parameters. This
allows each subprocess to get gypi file data from this per-process cache if it
has already encountered the gypi file when loading a previous target build
file.
Another minor change in this commit is to remove aux_data from ParallelState.
The aux_data is only ever used within the scope of LoadTargetBuildFile, so we
don't need to communicate it back to the main process.
BUG=
R=scottmg@chromium.org
Committed: https://code.google.com/p/gyp/source/detail?r=2012
Patch Set 1 #
Total comments: 3
Patch Set 2 : Review changes #Patch Set 3 : Remove unused 'aux_data' parameter in LoadTargetBuildFilesParallel #Patch Set 4 : Remove global statements #Messages
Total messages: 7 (1 generated)
|