@@ -112,7 +112,7 @@ jobs:
112
112
shell : cmd
113
113
run : |
114
114
cd cpython
115
- PCbuild\build.bat %BUILD_FLAGS% ${{ (inputs.pgo == true) && '--pgo' || '' }} ${{ inputs.jit == true && '--experimental-jit' || '' }} ${{ inputs.tier2 == true && '--experimental-jit-interpreter' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} -c Release ${{ inputs.clang == true && '"/p:PlatformToolset=clangcl"' || '' }} ${{ inputs.clang == true && '"/p:LLVMInstallDir=C:\Program Files\LLVM"' || '' }} ${{ inputs.clang == true && '"/p:LLVMToolsVersion=19.1.6"' || '' }} ${{ inputs.clang == true && '--tail-call-interp ' || '' }}
115
+ PCbuild\build.bat %BUILD_FLAGS% ${{ (inputs.pgo == true) && '--pgo' || '' }} ${{ inputs.clang == true && '--tail-call-interp' || '' }} ${{ inputs. jit == true && '--experimental-jit' || '' }} ${{ inputs.tier2 == true && '--experimental-jit-interpreter' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} -c Release ${{ inputs.clang == true && '"/p:PlatformToolset=clangcl"' || '' }} ${{ inputs.clang == true && '"/p:LLVMInstallDir=C:\Program Files\LLVM"' || '' }} ${{ inputs.clang == true && '"/p:LLVMToolsVersion=19.1.6"' || '' }}
116
116
- name : Copy Python to different location
117
117
if : ${{ steps.should_run.outputs.should_run != 'false' }}
118
118
run : |
@@ -161,11 +161,6 @@ jobs:
161
161
run : |
162
162
git gc
163
163
- uses : fregante/setup-git-user@v2
164
- - name : Setup system Python
165
- if : ${{ runner.arch == 'X64' }}
166
- uses : actions/setup-python@v5
167
- with :
168
- python-version : " 3.11"
169
164
- name : Checkout CPython
170
165
uses : actions/checkout@v4
171
166
with :
@@ -211,7 +206,7 @@ jobs:
211
206
if : ${{ steps.should_run.outputs.should_run != 'false' }}
212
207
run : |
213
208
cd cpython
214
- ./configure ${{ inputs.pgo == true && '--enable-optimizations --with-lto=full' || '' }} ${{ inputs.tier2 == true && '--enable-experimental-jit=interpreter' || '' }} ${{ inputs.jit == true && '--enable-experimental-jit=yes' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} ${{ inputs.clang == true && '--with-tail-call-interp' || '' }}
209
+ ./configure --enable-option-checking=fatal ${{ inputs.pgo == true && '--enable-optimizations --with-lto=full' || '' }} ${{ inputs.tier2 == true && '--enable-experimental-jit=interpreter' || '' }} ${{ inputs.jit == true && '--enable-experimental-jit=yes' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} ${{ inputs.clang == true && '--with-tail-call-interp' || '' }} ${PYTHON_CONFIGURE_FLAGS:- }
215
210
make ${{ runner.arch == 'ARM64' && '-j' || '-j4' }}
216
211
./python -VV
217
212
- name : Install pyperformance
@@ -221,7 +216,7 @@ jobs:
221
216
- name : Tune system
222
217
if : ${{ steps.should_run.outputs.should_run != 'false' }}
223
218
run : |
224
- sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH venv/bin/python -m pyperf system ${{ inputs.perf && 'reset' || 'tune' }}
219
+ sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH venv/bin/python -m pyperf system ${{ inputs.perf && 'reset' || 'tune ${CPU_AFFINITY:+--affinity="$CPU_AFFINITY"} ' }}
225
220
- name : Tune for (Linux) perf
226
221
if : ${{ steps.should_run.outputs.should_run != 'false' && inputs.perf }}
227
222
run : |
@@ -232,6 +227,10 @@ jobs:
232
227
run : |
233
228
rm -rf ~/.debug/*
234
229
venv/bin/python -m bench_runner run_benchmarks ${{ inputs.perf && 'perf' || 'benchmark' }} cpython/python ${{ inputs.fork }} ${{ inputs.ref }} ${{ inputs.benchmarks || 'all' }} ${{ env.flags }} --run_id ${{ github.run_id }}
230
+ - name : Untune system
231
+ if : ${{ steps.should_run.outputs.should_run != 'false' }}
232
+ run : |
233
+ sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH venv/bin/python -m pyperf system reset
235
234
# Pull again, since another job may have committed results in the meantime
236
235
- name : Pull benchmarking
237
236
if : ${{ steps.should_run.outputs.should_run != 'false' && !inputs.perf }}
@@ -321,11 +320,9 @@ jobs:
321
320
if : ${{ steps.should_run.outputs.should_run != 'false' }}
322
321
run : |
323
322
cd cpython
324
- ./configure ${{ inputs.pgo == true && '--enable-optimizations --with-lto=full' || '' }} ${{ inputs.tier2 == true && '--enable-experimental-jit=interpreter' || '' }} ${{ inputs.jit == true && '--enable-experimental-jit=yes' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} ${{ inputs.clang == true && '--with-tail-call-interp' || '' }}
323
+ ./configure --enable-option-checking=fatal ${{ inputs.pgo == true && '--enable-optimizations --with-lto=full' || '' }} ${{ inputs.tier2 == true && '--enable-experimental-jit=interpreter' || '' }} ${{ inputs.jit == true && '--enable-experimental-jit=yes' || '' }} ${{ inputs.nogil == true && '--disable-gil' || '' }} ${{ inputs.clang == true && '--with-tail-call-interp' || '' }} ${PYTHON_CONFIGURE_FLAGS:- }
325
324
make -j4
326
325
./python.exe -VV
327
- # On macos ARM64, actions/setup-python isn't available, so we rely on a
328
- # pre-installed homebrew one, used through a venv
329
326
- name : Install pyperformance
330
327
if : ${{ steps.should_run.outputs.should_run != 'false' }}
331
328
run : |
0 commit comments