From cfbaff2affb64bc0317916c302cf1dc3bae4d516 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 25 Oct 2024 16:43:08 -0500 Subject: [PATCH] ci: benchmark only BenchmarkBenchdata (#3007) A bit radical, but I'm open to other benchmarks we should include. Essentially, in an effort to have a small amount of meaningful benchmarks, I'd like for these to only be those in BenchmarkBenchdata. Yes, I recognize this is tooting my own horn, but I think they are good benchmarks that tell us, overall, if the GnoVM on a few reference programs got slower or faster, and I found them useful in the past while doing manual execution. Most other benchmarks are micro-benchmarks, which aren't likely to change often or to give us useful insight. I'm open to suggestions for others that make sense to be tracked, but I think it's for the better if we keep the number low so the CI for benchmarks can run in just a few minutes. --- .github/workflows/benchmark-master-push.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark-master-push.yml b/.github/workflows/benchmark-master-push.yml index 09978a0ae5c..bde6e623a88 100644 --- a/.github/workflows/benchmark-master-push.yml +++ b/.github/workflows/benchmark-master-push.yml @@ -34,9 +34,12 @@ jobs: go-version: "1.22.x" - name: Run benchmark + # add more benchmarks by adding additional lines for different packages; + # or modify the -bench regexp. run: | - go test -benchmem -bench=. ./... -run=^$ \ - -cpu 1,2 -timeout 50m | tee benchmarks.txt + set -xeuo pipefail && ( + go test ./gnovm/pkg/gnolang -bench='BenchmarkBenchdata' -benchmem -run='^$' -v -cpu=1,2 + ) | tee benchmarks.txt - name: Download previous benchmark data uses: actions/cache@v4