Skip to content

Commit

Permalink
add bash script to run a benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
arlyon committed May 24, 2024
1 parent 2966b85 commit 5408626
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions packages/next-swc/crates/next-build-test/bench.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

# run a benchmark against this binary
# using heaptrack to extract memory
# usage numbers at g-max

set -e

COMMIT=${1:-13d9693808badd4b92811abac5e18dc1cddf2384} # the sha of the commit to benchmark
PAGES=${2:-"/sink,/examples/forms/appearance,/examples/cards,/examples/dashboard,/api/components,/examples/forms/notifications,/sink/new-york,/examples/forms/display,/blocks,/docs/[[...slug]]"} # the list of pages to build

SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"

# build the binary
cargo build --profile release-with-debug --manifest-path "$SCRIPTPATH/Cargo.toml"

# create a temp dir and clone shadcn-ui into it
TMPDIR=$(mktemp -d)
git clone https://github.com/shadcn-ui/ui.git "$TMPDIR"
cd "$TMPDIR/apps/www"
git checkout "$COMMIT"

# install the dependencies and change dir
pnpm install

# heaptrack the binary with the project options in raw mode
heaptrack --record-only "$SCRIPTPATH/../../../../target/release-with-debug/next-build-test" concurrent 12 "$PAGES"
"$SCRIPTPATH/../../../../target/release-with-debug/next-build-test" run concurrent 12 999 "$PAGES"

# get most recently created heaptrack profile and run it via heaptrack_print
PROFILE=$(ls -t "$TMPDIR/heaptrack.*" | head -n1)
heaptrack_print "$PROFILE" > "$SCRIPTPATH/result.log"

0 comments on commit 5408626

Please sign in to comment.