crates/proof-of-sql-benches/src/README.md
The Jaeger benchmarks/tracing is wrapped by a binary. The motivation of the wrapper is to allow greater control over benchmark parameters. To run benchmarks with Jaeger, you need to do the following
docker run --rm -d --name jaeger -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:1.62.0
cargo run --release --bin proof-of-sql-benches -- --help
docker kill jaeger
All the options are outlined in the help and main.rs module.
To run a benchmark on the HyperKZG commitment scheme using the Single Column Filter query with a table size of 1_000_000 for 3 iterations, your command would be the following.
cargo run --release --bin proof-of-sql-benches -- -s hyper-kzg -i 3 -t 1000000 -q single-column-filter
Jaeger benchmarks default to logging any traces at DEBUG level and above. Memory consumption is logged at TRACE level. In order to capture memory consumption in the Jaeger benchmarks, add RUST_LOG=trace to the command.
Example
RUST_LOG=trace cargo run --release --bin proof-of-sql-benches
To run benchmarks with Criterion, you need to do the following
cargo bench -p proof-of-sql-benches --bench bench_append_rows --features="test"
target/criterion/report/index.html to see the results.