From b2c8c1ef946d8f60ad686c00f9b07540b5f12283 Mon Sep 17 00:00:00 2001 From: Aspen Smith Date: Sun, 10 Dec 2023 22:51:43 -0500 Subject: 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 Tested-by: BuildkiteCI Autosubmit: grfn --- tvix/scripts/bench.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'tvix/scripts') diff --git a/tvix/scripts/bench.sh b/tvix/scripts/bench.sh index 5598087a0c..d88638701a 100755 --- a/tvix/scripts/bench.sh +++ b/tvix/scripts/bench.sh @@ -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 @@ -6,5 +7,12 @@ set -euo pipefail echo "Running benchmarks for tvix/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 . + +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 -- cgit 1.4.1