prim_import(): prefetch substitute info in parallel using queryMissing()
This commit is contained in:
		
							parent
							
								
									425cc612ad
								
							
						
					
					
						commit
						98a423b75a
					
				
					 1 changed files with 6 additions and 0 deletions
				
			
		|  | @ -51,6 +51,12 @@ static void prim_import(EvalState & state, Value * * args, Value & v) | ||||||
|                 % path % ctx); |                 % path % ctx); | ||||||
|         if (isDerivation(ctx)) |         if (isDerivation(ctx)) | ||||||
|             try { |             try { | ||||||
|  |                 /* For performance, prefetch all substitute info. */ | ||||||
|  |                 PathSet willBuild, willSubstitute, unknown; | ||||||
|  |                 unsigned long long downloadSize, narSize; | ||||||
|  |                 queryMissing(*store, singleton<PathSet>(ctx), | ||||||
|  |                     willBuild, willSubstitute, unknown, downloadSize, narSize); | ||||||
|  |                    | ||||||
|                 /* !!! If using a substitute, we only need to fetch
 |                 /* !!! If using a substitute, we only need to fetch
 | ||||||
|                    the selected output of this derivation. */ |                    the selected output of this derivation. */ | ||||||
|                 store->buildPaths(singleton<PathSet>(ctx)); |                 store->buildPaths(singleton<PathSet>(ctx)); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue