env:
WALRUS_QUIET: "1"
WALRUS_FSYNC: "500"
WALRUS_DURATION: "2m"
RUST_TEST_THREADS: "16"
jobs:
multithreaded-writes-benchmark:
runs-on: self-hosted
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build --locked
- name: Run Multithreaded Writes Benchmark
run: |
echo "Running multithreaded writes benchmark with:"
echo " - Fsync schedule: 500ms"
echo " - Read consistency: 5000 (persist_every) - configured in benchmark code"
echo " - Threads: 10"
echo " - Duration: 2m"
echo ""
export RUSTFLAGS=-Awarnings
# cargo test --test multithreaded_benchmark_writes multithreaded_benchmark -- --nocapture
- name: Upload benchmark results
uses: actions/upload-artifact@v4
if: always()
with:
name: multithreaded-writes-benchmark-results
path: |
benchmark_throughput.csv
retention-days: 1