Skip to content

Commit b95c9cf

Browse files
committed
Update changelog
1 parent aa72013 commit b95c9cf

File tree

1 file changed

+55
-4
lines changed

1 file changed

+55
-4
lines changed

CHANGELOG.md

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,63 @@
22

33
## v2.0.0
44

5-
Most of the work has moved from GitHub Actions `.yml` files to Python code in `workflow.py`.
6-
In the future, this will allow supporting more workflow engines beyond just GitHub Actions.
5+
### Moving more code to Python
76

8-
**Migration note**: After running `python -m bench_runner install` to update your local files, but sure to add the new `workflow_bootstrap.py` file to your git repository.
7+
Most of the code to orchestrate the benchmarks at a high level has moved from
8+
GitHub Actions `.yml` files to Python code in `workflow.py`. In the future, this
9+
will allow supporting more workflow engines beyond just GitHub Actions.
910

10-
### New configuration
11+
**Migration note**: After running `python -m bench_runner install` to update
12+
your local files, be sure to add the new `workflow_bootstrap.py` file to your
13+
git repository.
14+
15+
### Decoupling compiler configuration from tail-calling
16+
17+
Previously, bench_runner had a flag, `CLANG`, that both (a) built with clang 19
18+
or later and (b) built the tail calling interpreter. This has been replaced with
19+
a new flag `TAILCALL` that only sets the flags to build with the tail calling
20+
interpreter. It is now up to the user to select a machine configured with a
21+
compiler that supports the tail calling interpreter.
22+
23+
For machines with a clang-19 or later installed these example machine
24+
configurations could be used in your `bench_runner.toml`. The exact details will
25+
depend on your distribution and method of installing clang, etc.:
26+
27+
```toml
28+
[runners.linux_clang]
29+
os = "linux"
30+
arch = "x86_64"
31+
hostname = "pyperf"
32+
github_runner_name = "linux-x86_64-linux"
33+
include_in_all = false
34+
[runners.linux_clang.env]
35+
CC = "$(which clang-19)"
36+
LLVM_AR = "$(which llvm-ar-19)"
37+
LLVM_PROFDATA = "$(which llvm-profdata-19)"
38+
39+
[runners.darwin_clang19]
40+
os = "darwin"
41+
arch = "arm64"
42+
hostname = "CPythons-Mac-mini.local"
43+
github_runner_name = "darwin-arm64-darwin"
44+
[runners.darwin_clang19.env]
45+
PATH = "$(brew --prefix llvm)/bin:$PATH"
46+
CC = "$(brew --prefix llvm)/bin/clang"
47+
LDFLAGS = "-L$(brew --prefix llvm)/lib"
48+
CFLAGS = "-L$(brew --prefix llvm)/include"
49+
50+
[runners.pythonperf1_clang]
51+
os = "windows"
52+
arch = "x86_64"
53+
hostname = "WIN-5FKPU9U7KDT"
54+
github_runner_name = "windows-x86_64-pythonperf1"
55+
include_in_all = false
56+
[runners.pythonperf1_clang.env]
57+
BUILD_DEST = "PCBuild/amd64"
58+
PYTHON_CONFIGURE_FLAGS = '`"/p:PlatformToolset=clangcl`" `"/p:LLVMInstallDir=C:\Program Files\LLVM`" `"/p:LLVMToolsVersion=19.1.6`"'
59+
```
60+
61+
### Controlling number of cores used for builds
1162

1263
Runners have a new configuration `use_cores` to control the number of CPU cores
1364
used to build CPython. By default, this will use all available cores, but some

0 commit comments

Comments
 (0)