[New-bugs-announce] [issue44187] Implement infrastructure for quickening and specializing

Mark Shannon report at bugs.python.org
Thu May 20 07:15:19 EDT 2021

New submission from Mark Shannon <mark at hotpy.org>:

As described in PEP 659 (Specializing Adaptive Interpreter) the first part of implementing specialization is to implement the machinery to do the quickening.

Conceptually, this is fairly simple: add a new field to the code object, which points to the first instruction in the bytecode.

When quickening, we create a new array, copy the old bytecode into it, and make the new field point to it.

Without any specialization or superinstructions, this will just waste memory.
However, it will pay off soon enough as we implement superinstructions, remove the old "opcache" and add new specializations.

We expect to see worthwhile speed ups with just superinstructions, and large speedups when all the above features have been implemented.

assignee: Mark.Shannon
messages: 394013
nosy: Mark.Shannon
priority: normal
severity: normal
status: open
title: Implement infrastructure for quickening and specializing
type: performance

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list