From 3a9c89075a0080343a75829aea7f07ecf1444871 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Thu, 20 Jun 2024 20:39:44 -0700 Subject: [PATCH 1/2] Add link to slides and clarification about LLVM dep --- peps/pep-0744.rst | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/peps/pep-0744.rst b/peps/pep-0744.rst index da5d89cdfc8..6ae3ed93764 100644 --- a/peps/pep-0744.rst +++ b/peps/pep-0744.rst @@ -1,6 +1,7 @@ PEP: 744 Title: JIT Compilation -Author: Brandt Bucher +Author: Brandt Bucher , + Savannah Ostrowski , Discussions-To: https://discuss.python.org/t/pep-744-jit-compilation/50756 Status: Draft Type: Informational @@ -33,7 +34,8 @@ the following resources: JIT at the 2023 CPython Core Developer Sprint. It includes relevant background, a light technical introduction to the "copy-and-patch" technique used, and an open discussion of its design amongst the core developers - present. + present. Slides for this talk can be found on `GitHub + `__. - The `open access paper `__ originally describing copy-and-patch. @@ -534,6 +536,12 @@ executable. These issues are no longer present in the current design. Dependencies ------------ +At the time of writing, the JIT has a build-time dependency on LLVM. LLVM +is used to compile individual micro-op instructions into blobs of machine code, +which are then linked together to form the JIT's templates. These templates are +used to build CPython itself. The JIT has no runtime dependency on LLVM and is +therefore not at all exposed as a dependency to end users. + Building the JIT adds between 3 and 60 seconds to the build process, depending on platform. It is only rebuilt whenever the generated files become out-of-date, so only those who are actively developing the main interpreter loop will be From 9986b55f93f8cf64e7d4780bf6d4b0be584b246a Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Thu, 20 Jun 2024 20:50:58 -0700 Subject: [PATCH 2/2] Fix line break --- peps/pep-0744.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/peps/pep-0744.rst b/peps/pep-0744.rst index 6ae3ed93764..413ea8fcd0b 100644 --- a/peps/pep-0744.rst +++ b/peps/pep-0744.rst @@ -34,8 +34,7 @@ the following resources: JIT at the 2023 CPython Core Developer Sprint. It includes relevant background, a light technical introduction to the "copy-and-patch" technique used, and an open discussion of its design amongst the core developers - present. Slides for this talk can be found on `GitHub - `__. + present. Slides for this talk can be found on `GitHub `__. - The `open access paper `__ originally describing copy-and-patch.