Skip to content

Memory benchmarks

Memory benchmarks #2

Workflow file for this run

name: Memory benchmarks
on:
workflow_dispatch:
jobs:
memory:
runs-on: ubuntu-24.04
env:
BENCHMARK_FILE: tests/inputs/function_exactly_two_of_four.aag
CARGO_TARGET_DIR: target/memory
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install Valgrind
run: |
sudo apt-get update
sudo apt-get install -y valgrind
- name: Build memory benchmarks
run: cargo build --manifest-path benchmark/memory/Cargo.toml --release --bins
- name: Profile raig
run: |
valgrind \
--tool=massif \
--time-unit=B \
--massif-out-file=massif-raig.out \
./target/memory/release/memory_raig "$BENCHMARK_FILE"
ms_print massif-raig.out > massif-raig.txt
- name: Profile mutaig
run: |
valgrind \
--tool=massif \
--time-unit=B \
--massif-out-file=massif-mutaig.out \
./target/memory/release/memory_mutaig "$BENCHMARK_FILE"
ms_print massif-mutaig.out > massif-mutaig.txt
- name: Profile aig-rs
run: |
valgrind \
--tool=massif \
--time-unit=B \
--massif-out-file=massif-aig-rs.out \
./target/memory/release/memory_aig_rs "$BENCHMARK_FILE"
ms_print massif-aig-rs.out > massif-aig-rs.txt
- name: Upload profiles
uses: actions/upload-artifact@v4
with:
name: memory-profiles
path: |
massif-*.out
massif-*.txt