feat(tvix): Benchmark nixpkgs eval with hyperfine
Add some hyperfine benchmarks to Tvix's windtunnel benchmark script for evaluating the outPath of hello and a cross-compiled hello. Change-Id: I9d76e5ce0a3fd7d9c125c36c5fced675b660a8a8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10248 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Autosubmit: grfn <grfn@gws.fyi>
This commit is contained in:
		
							parent
							
								
									19fd6ffae5
								
							
						
					
					
						commit
						b2c8c1ef94
					
				
					 2 changed files with 11 additions and 2 deletions
				
			
		| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env nix-shell
 | 
				
			||||||
 | 
					#!nix-shell -i bash ../.. -A tvix.shell
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Benchmark script that runs inside the Windtunnel build agent
 | 
					# Benchmark script that runs inside the Windtunnel build agent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,5 +7,12 @@ set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Running benchmarks for tvix/eval..."
 | 
					echo "Running benchmarks for tvix/eval..."
 | 
				
			||||||
cd "$(dirname "$(dirname "$0")")/eval"
 | 
					cd "$(dirname "$(dirname "$0")")/eval"
 | 
				
			||||||
docker run --rm -v "$(pwd):/app" -w /app rust cargo bench
 | 
					cargo bench
 | 
				
			||||||
windtunnel-cli report -f criterion-rust .
 | 
					windtunnel-cli report -f criterion-rust .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Running tvix macrobenchmarks..."
 | 
				
			||||||
 | 
					cargo build --release --bin tvix
 | 
				
			||||||
 | 
					hyperfine --export-json ./results.json \
 | 
				
			||||||
 | 
					    -n 'eval-nixpkgs-hello' "target/release/tvix -E '(import ../../nixpkgs {}).hello.outPath'" \
 | 
				
			||||||
 | 
					    -n 'eval-nixpkgs-cross-hello' "target/release/tvix -E '(import ../../nixpkgs {}).pkgsCross.aarch64-multiplatform.hello.outPath'"
 | 
				
			||||||
 | 
					windtunnel-cli report -f hyperfine-json ./results.json
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,7 @@ pkgs.mkShell {
 | 
				
			||||||
    pkgs.evans
 | 
					    pkgs.evans
 | 
				
			||||||
    pkgs.fuse
 | 
					    pkgs.fuse
 | 
				
			||||||
    pkgs.go
 | 
					    pkgs.go
 | 
				
			||||||
 | 
					    pkgs.hyperfine
 | 
				
			||||||
    pkgs.nix_2_3 # b/313
 | 
					    pkgs.nix_2_3 # b/313
 | 
				
			||||||
    pkgs.pkg-config
 | 
					    pkgs.pkg-config
 | 
				
			||||||
    pkgs.rust-analyzer
 | 
					    pkgs.rust-analyzer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue