* Add a test to demonstrate the quadratic complexity of referrer
(de)registration, in particular garbage collection (NIX-23).
This commit is contained in:
		
							parent
							
								
									a33b561a6b
								
							
						
					
					
						commit
						18bbcb1214
					
				
					 2 changed files with 16 additions and 1 deletions
				
			
		|  | @ -39,7 +39,7 @@ gc-concurrent.sh: gc-concurrent.nix gc-concurrent2.nix | ||||||
| 
 | 
 | ||||||
| TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \ | TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \ | ||||||
|   build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh gc.sh \ |   build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh gc.sh \ | ||||||
|   gc-concurrent.sh verify.sh nix-pull.sh |   gc-concurrent.sh verify.sh nix-pull.sh referrers.sh | ||||||
| 
 | 
 | ||||||
| XFAIL_TESTS = | XFAIL_TESTS = | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										15
									
								
								tests/referrers.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/referrers.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | max=5000 | ||||||
|  | 
 | ||||||
|  | reference=$NIX_STORE_DIR/abcdef | ||||||
|  | touch $reference | ||||||
|  | (echo $reference && echo && echo 0) | $TOP/src/nix-store/nix-store --register-validity  | ||||||
|  | 
 | ||||||
|  | echo "registering..." | ||||||
|  | time for ((n = 0; n < $max; n ++)); do | ||||||
|  |     storePath=$NIX_STORE_DIR/$n | ||||||
|  |     touch $storePath | ||||||
|  |     (echo $storePath && echo && echo 1 && echo $reference) | ||||||
|  | done | $TOP/src/nix-store/nix-store --register-validity  | ||||||
|  | 
 | ||||||
|  | echo "collecting garbage..." | ||||||
|  | time $TOP/src/nix-store/nix-store --gc 2> /dev/null | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue