Message392906
Currently, the local variables (inc. cell and free vars) for functions and the evaluation stack are kept in per-activation chunks in the frame object. This is not a good design for modern hardware.
The local variables and stack are amongst the hottest memory in the VM and should be stored in a contiguous stack in memory.
Allocating a per-thread stack would improve memory locality considerably, and pave the way to allocating heap objects for function activations lazily, only when needed for debugging and introspection.
Generators would still need heap allocated locals and stack, but that would be no worse than currently. |
|
Date |
User |
Action |
Args |
2021-05-04 14:54:31 | Mark.Shannon | set | recipients:
+ Mark.Shannon |
2021-05-04 14:54:31 | Mark.Shannon | set | messageid: <1620140071.36.0.488434643792.issue44032@roundup.psfhosted.org> |
2021-05-04 14:54:31 | Mark.Shannon | link | issue44032 messages |
2021-05-04 14:54:31 | Mark.Shannon | create | |
|