Skip to content

Add tail_call_interp to the bench configuration file#465

Merged
Fidget-Spinner merged 4 commits intopython:mainfrom
maurycy:compile-tail-call
Apr 7, 2026
Merged

Add tail_call_interp to the bench configuration file#465
Fidget-Spinner merged 4 commits intopython:mainfrom
maurycy:compile-tail-call

Conversation

@maurycy
Copy link
Copy Markdown
Contributor

@maurycy maurycy commented Apr 7, 2026

Fixes #463

@maurycy
Copy link
Copy Markdown
Contributor Author

maurycy commented Apr 7, 2026

@Fidget-Spinner Voilà: https://gist.github.com/maurycy/43c551e060022b0febe129358fa6bbed

The command:

CC=clang-19 CXX=clang++-19 /home/maurycy/pyperformance/.venv/bin/python /home/maurycy/pyperformance/dev.py compile /tmp/tail.conf main

The line inside the log:

2026-04-07 13:26:11,521: + /home/maurycy/cpython-main/configure --prefix /home/maurycy/bench_tmpdir/prefix --with-lto --enable-experimental-jit=no --with-tail-call-interp

and:

2026-04-07 13:26:26,533: checking for --with-tail-call-interp... yes

For:

--- /home/maurycy/pyperformance/doc/benchmark.conf.sample	2026-04-07 11:19:11.562370995 +0000
+++ tail.conf	2026-04-07 13:24:59.687990336 +0000
@@ -13,7 +13,7 @@
 
 [scm]
 # Directory of CPython source code (Git repository)
-repo_dir = ~/cpython
+repo_dir = ~/cpython-main
 
 # Update the Git repository (git fetch)?
 update = True
@@ -52,7 +52,7 @@
 jit = no
 
 # Tail-calling interpreter?
-tail_call_interp = False
+tail_call_interp = True
 
 # The space-separated list of libraries that are package-only,
 # i.e., locally installed but not on header and library paths.
@@ -82,13 +82,13 @@
 
 [run_benchmark]
 # Run "sudo python3 -m pyperf system tune" before running benchmarks?
-system_tune = True
+system_tune = False
 
 # --manifest option for 'pyperformance run'
 manifest =
 
 # --benchmarks option for 'pyperformance run'
-benchmarks =
+benchmarks = json_dumps
 
 # --affinity option for 'pyperf system tune' and 'pyperformance run'
 affinity =

@maurycy maurycy marked this pull request as ready for review April 7, 2026 15:13
Copy link
Copy Markdown
Member

@Fidget-Spinner Fidget-Spinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, excellent! Thanks for adding tests as well.

@Fidget-Spinner Fidget-Spinner merged commit 1a49aa8 into python:main Apr 7, 2026
19 checks passed
@maurycy maurycy deleted the compile-tail-call branch April 7, 2026 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pyperformance bench configuration file should support tail-call interpreter option

2 participants