GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — Set up tagged pointers in the evaluation stack · Issue #117139 · python/cpython Closed Labels DescriptionFeature or enhancementProposal:This issue mostly mirrors Mark's original one at faster-cpython/ideas#632. As part of PEP 703, tagged pointers will help achieve deferred reference counting. Tagged pointers will also help the default GIL builds in 3.14 and future with unboxed ints. Here's the initial design (open for comments): We change the evaluation stack from Note: I am limiting the tagged pointers to just the evaluation stack (this is up for debate as well). The main reason is to keep the change as minimally invasive as possible for 3.13 and not leak out any implementation details for now. For example, I don't want to support tagged pointers in C API functions. This may/will change in 3.14. Thanks to the cases generator, we can then autogenerate all the proper accessors to said object. For example, a stack effect of Unboxed ints will also help both free-threaded and non-free-threaded builds by reducing refcounting even more for simple arithmetic operations (and making integer operations native). However, I am aiming for deferred tags in 3.13, and anything else is a plus. Further note: due to wanting to respect immediate finalizers, we are not deferring that many objects. So this may not be a win on default builds. On free-threaded builds, I see a slight (10%) speedup on fibonacci microbenchmarks. Will benchmark on the default bulid as well and see the results. Has this already been discussed elsewhere?No response given Links to previous discussion of this feature:No response Linked PRs
Activity
MetadataMetadataAssigneesLabelsProjectsMilestoneRelationshipsDevelopmentIssue actions | |||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |