Files
neon/libs/wal_decoder/benches
Arpad Müller 552249607d apply clippy fixes for 1.88.0 beta (#12331)
The 1.88.0 stable release is near (this Thursday). We'd like to fix most
warnings beforehand so that the compiler upgrade doesn't require
approval from too many teams.

This is therefore a preparation PR (like similar PRs before it).

There is a lot of changes for this release, mostly because the
`uninlined_format_args` lint has been added to the `style` lint group.
One can read more about the lint
[here](https://rust-lang.github.io/rust-clippy/master/#/uninlined_format_args).

The PR is the result of `cargo +beta clippy --fix` and `cargo fmt`. One
remaining warning is left for the proxy team.

---------

Co-authored-by: Conrad Ludgate <conrad@neon.tech>
2025-06-24 10:12:42 +00:00
..

WAL Decoding and Interpretation Benchmarks

Note that these benchmarks pull WAL from a public bucket in S3 as a preparation step. Hence, you need a way to auth with AWS. You can achieve this by copying the ~/.aws/config file from the AWS SSO notion page and exporting AWS_PROFILE=dev when invoking the benchmarks.

To run benchmarks:

aws sso login --profile dev

# All benchmarks.
AWS_PROFILE=dev cargo bench --package wal_decoder

# Specific file.
AWS_PROFILE=dev cargo bench --package wal_decoder --bench bench_interpret_wal

# Specific benchmark.
AWS_PROFILE=dev cargo bench --package wal_decoder --bench bench_interpret_wal unsharded

# List available benchmarks.
cargo bench --package wal_decoder --benches -- --list

# Generate flamegraph profiles using pprof-rs, profiling for 10 seconds.
# Output in target/criterion/*/profile/flamegraph.svg.
AWS_PROFILE=dev cargo bench --package wal_decoder --bench bench_interpret_wal unsharded -- --profile-time 10

Additional charts and statistics are available in target/criterion/report/index.html.

Benchmarks are automatically compared against the previous run. To compare against other runs, see --baseline and --save-baseline.