Skip to content

Decouple compiler choice from tail calling #396

Closed
@mdboom

Description

@mdboom

Currently there is a flag CLANG which (a) uses the clang-19 installed on the machine, and (b) builds CPython with tail calling. This coupling is just an historical artifact of how things evolved and seems rather odd in hindsight, particularly since the name CLANG is not about the most important part, which is TAILCALL.

I propose:

  • renaming the CLANG flag to TAILCALL
  • the checkbox will only affect the configure flags for tail calling --with-tail-call-interp (and equivalent on Windows)
  • the "user" would then be responsible for setting up runners in their bench_runner.toml where a compatible compiler is available, e.g. linux-clang19 would set the environment variables necessary to build with clang.
  • There will need to be a migration script to move over existing data. It may be hard to write something that would work for both @Yhg1s and I since the migration script would need to change the runner on existing data to one of these new clang configurations. Since we only have 2 users, it's probably sufficient to share the migration script as a gist and it can be adapted to individual needs.

Important follow-on work will be making it easier to change the weekly runs in #397.

Cc: @Fidget-Spinner, @Yhg1s -- I'd appreciate your feedback about this plan.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions