struct Av1Block
: narrow field types
#4101
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build and benchmark on x86-64 | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
jobs: | |
benchmark-on-self-hosted-x86-64: | |
runs-on: [self-hosted, linux, X64] | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v4 | |
- name: install rust toolchain | |
id: toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.87.0 # specific version for consistent perf | |
target: x86_64-unknown-linux-gnu | |
components: clippy | |
- name: release build this PR | |
run: nice cargo +${{ steps.toolchain.outputs.name }} build --release | |
- name: release build main branch | |
run: | | |
git fetch --depth 1 origin main && git checkout origin/main | |
nice cargo +${{ steps.toolchain.outputs.name }} build --release --target-dir target.main | |
- name: benchmark on chimera 8-bit test data | |
run: | | |
mkdir -p `dirname $LOCAL_FILE` | |
[ ! -f "$LOCAL_FILE" ] && curl -s -o $LOCAL_FILE $REMOTE_URL | |
perf stat -r3 -- target/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
# generate diff vs. main branch | |
input=$(basename $LOCAL_FILE) | |
perf record -o perf.data.$input -- target/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
perf record -o perf.data.$input.main -- target.main/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
perf diff perf.data.$input.main perf.data.$input | head -n 100 | |
env: | |
REMOTE_URL: http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/Chimera/Old/Chimera-AV1-8bit-1280x720-3363kbps.ivf | |
LOCAL_FILE: /tmp/rav1d/Chimera-AV1-8bit-1280x720-3363kbps.ivf | |
- name: benchmark on chimera 10-bit test data | |
run: | | |
mkdir -p `dirname $LOCAL_FILE` | |
[ ! -f "$LOCAL_FILE" ] && curl -s -o $LOCAL_FILE $REMOTE_URL | |
perf stat -r3 -- target/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
# generate diff vs. main branch | |
input=$(basename $LOCAL_FILE) | |
perf record -o perf.data.$input -- target/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
perf record -o perf.data.$input.main -- target.main/release/dav1d -q -i $LOCAL_FILE -o /dev/null | |
perf diff perf.data.$input.main perf.data.$input | head -n 100 | |
env: | |
REMOTE_URL: http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/Chimera/Old/Chimera-AV1-10bit-1920x1080-6191kbps.ivf | |
LOCAL_FILE: /tmp/rav1d/Chimera-AV1-10bit-1920x1080-6191kbps.ivf | |
- name: upload benchmark data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: perf-data | |
path: ${{ github.workspace }}/perf.data.* |