mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
34 lines
No EOL
906 B
Bash
Executable file
34 lines
No EOL
906 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
rm -rf /tmp/pgo-data
|
|
|
|
mkdir -p /tmp/demos
|
|
|
|
function download_demo {
|
|
if [ ! -f "/tmp/demos/$1.dem" ]; then
|
|
URL=$(curl -s https://api.demos.tf/demos/$1 | grep -oP "\"(https:.*?\.dem)\"")
|
|
URL="${URL//\\/}"
|
|
URL="${URL//\"/}"
|
|
echo "Downloading demo $1 from $URL"
|
|
wget -q $URL -O /tmp/demos/$1.dem
|
|
fi
|
|
}
|
|
|
|
function profile_demo {
|
|
echo "/tmp/demos/$1.dem"
|
|
./target/release/parse_demo "/tmp/demos/$1.dem" > /dev/null
|
|
}
|
|
|
|
for i in $(seq 283600 283700); do download_demo $i; done
|
|
|
|
RUSTFLAGS="-Cprofile-generate=/tmp/pgo-data" \
|
|
cargo +nightly build --release --target=x86_64-unknown-linux-gnu
|
|
|
|
echo "Profiling demos"
|
|
|
|
for i in $(seq 283600 283700); do profile_demo $i; done
|
|
|
|
#llvm-profdata merge -o /tmp/pgo-data/merged.profdata /tmp/pgo-data
|
|
|
|
#RUSTFLAGS="-Cprofile-use=/tmp/pgo-data/merged.profdata" \
|
|
# cargo +nightly build --release |