aboutsummaryrefslogtreecommitdiffstats
path: root/bin/perf
blob: 6accd27ab9af11a1d5bab407a61bf20e7a23e101 (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 perf
perf record -F99 --call-graph dwarf,16384 target/release/examples/perf --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