PEP 744: Add link to slides and clarification about LLVM dependency (GH-3850)
This commit is contained in:
parent
2d60997b1c
commit
8c02849924
|
@ -1,6 +1,7 @@
|
|||
PEP: 744
|
||||
Title: JIT Compilation
|
||||
Author: Brandt Bucher <brandt@python.org>
|
||||
Author: Brandt Bucher <brandt@python.org>,
|
||||
Savannah Ostrowski <savannahostrowski@gmail.com>,
|
||||
Discussions-To: https://discuss.python.org/t/pep-744-jit-compilation/50756
|
||||
Status: Draft
|
||||
Type: Informational
|
||||
|
@ -33,7 +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.
|
||||
present. Slides for this talk can be found on `GitHub <https://github.com/brandtbucher/brandtbucher/blob/master/2023/10/10/a_jit_compiler_for_cpython.pdf>`__.
|
||||
|
||||
- The `open access paper <https://dl.acm.org/doi/10.1145/3485513>`__ originally
|
||||
describing copy-and-patch.
|
||||
|
@ -534,6 +535,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
|
||||
|
|
Loading…
Reference in New Issue