aboutsummaryrefslogtreecommitdiffstats
path: root/bin/perf
blob: 76bc563dac212bc9b797fef4e7c5ca2323346d76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
set -eux

rm -f target/release/examples/* perf.* || true
if ! grep -q debug Cargo.toml; then
    cat >> Cargo.toml <<EOF

[profile.release]
debug = true
EOF
fi
cargo build --release --example "$1"
perf record -F99 --call-graph dwarf,16384 target/release/examples/"$1" --ignored > /dev/null
perf script > perf.script
perl ~/coding/src/FlameGraph/stackcollapse-perf.pl perf.script > perf.collapsed
perl ~/coding/src/FlameGraph/flamegraph.pl perf.collapsed > perf.svg
firefox perf.svg