h264-reader 0.9.0

Reader for H264 bitstream syntax
Documentation
name: Benchmark
on:
  push:
    branches: master
jobs:
  benchmark_with_bencher:
    name: Benchmark with Bencher
    runs-on: ubuntu-22.04
    env:
      BENCHER_PROJECT: h264-reader
      BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
    steps:
      - uses: actions/checkout@v7
        with:
          lfs: true

      - name: Install toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1.17.0

      - uses: bencherdev/bencher@main
      - uses: cargo-bins/cargo-binstall@main

      - run: sudo apt update && sudo apt install valgrind

      - name: Install iai-callgrind-runner
        run: |
          version=$(cargo metadata --format-version=1 |\
            jq '.packages[] | select(.name == "iai-callgrind").version' |\
            tr -d '"'
          )
          cargo binstall --no-confirm iai-callgrind-runner --version $version --root $PWD/iai/

      - run: |
          IAI_CALLGRIND_COLOR=never IAI_CALLGRIND_RUNNER=$PWD/iai/bin/iai-callgrind-runner cargo bench --bench ci_bench > perf.txt
      - run: |
          bencher run \
          --branch "$GITHUB_REF_NAME" \
          --threshold-measure estimated-cycles \
          --threshold-test t_test \
          --threshold-upper-boundary 0.95 \
          --err \
          --adapter rust_iai_callgrind \
          --hash "$GITHUB_SHA" \
          --file "perf.txt"