Message394013
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. |
|
Date |
User |
Action |
Args |
2021-05-20 11:15:19 | Mark.Shannon | set | recipients:
+ Mark.Shannon |
2021-05-20 11:15:19 | Mark.Shannon | set | messageid: <1621509319.67.0.0822328288042.issue44187@roundup.psfhosted.org> |
2021-05-20 11:15:19 | Mark.Shannon | link | issue44187 messages |
2021-05-20 11:15:19 | Mark.Shannon | create | |
|