-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_benchmark.sh
More file actions
executable file
·68 lines (61 loc) · 2.17 KB
/
run_benchmark.sh
File metadata and controls
executable file
·68 lines (61 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
set -Eeuo pipefail
cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
trap "echo -e '\a'" EXIT
echoc() {
echo "$(tput setaf $1)$2$(tput sgr0)"
}
WORKDIR="workdir"
ESTIMATES="results/estimates.json"
OUTPUT="results/benchmark.ndjson"
while read -r pyimpl implementation; do
echoc 7 "## $pyimpl / $implementation ##"
rm -rf ".venv" src/__pycache__
echoc 3 "# creating venv"
uv -q venv -p "$pyimpl" --managed-python .venv
case "$implementation" in
backports) uv pip install backports.zstd ;;
pyzstd) uv pip install pyzstd ;;
zstandard) uv pip install zstandard ;;
zstd) uv pip install zstd ;;
esac
echoc 3 "# python version"
.venv/bin/python -VV
echoc 3 "# run benchmark"
time .venv/bin/python -m src run "$WORKDIR" "$ESTIMATES" "$implementation" "$OUTPUT"
done <<EOF
cpython-3.9 backports
cpython-3.9 pyzstd
cpython-3.9 zstandard
cpython-3.9 zstd
cpython-3.10 backports
cpython-3.10 pyzstd
cpython-3.10 zstandard
cpython-3.10 zstd
cpython-3.11 backports
cpython-3.11 pyzstd
cpython-3.11 zstandard
cpython-3.11 zstd
cpython-3.12 backports
cpython-3.12 pyzstd
cpython-3.12 zstandard
cpython-3.12 zstd
cpython-3.13 backports
cpython-3.13 pyzstd
cpython-3.13 zstandard
cpython-3.13 zstd
cpython-3.13t backports
cpython-3.14 stdlib
cpython-3.14 pyzstd
cpython-3.14 zstandard
cpython-3.14 zstd
cpython-3.14t stdlib
pypy-3.10 backports
pypy-3.10 pyzstd
pypy-3.10 zstandard
pypy-3.10 zstd
pypy-3.11 backports
pypy-3.11 pyzstd
pypy-3.11 zstandard
pypy-3.11 zstd
EOF