about summary refs log tree commit diff
path: root/tvix/scripts/bench.sh
blob: 548a9d2058d3df8dd84e182e9546e6ac5d7664c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env nix-shell
#!nix-shell -i bash ../.. -A tvix.shell

# Benchmark script that runs inside the Windtunnel build agent

set -euo pipefail

echo "Running benchmarks for tvix/eval..."
pushd "$(dirname "$(dirname "$0")")/eval"
cargo bench
windtunnel-cli report -f criterion-rust .
popd

echo "Running tvix macrobenchmarks..."
pushd "$(dirname "$(dirname "$0")")"
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
popd