This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author nascheme
Recipients methane, nascheme
Date 2021-10-19.16:48:44
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1634662124.91.0.148058700143.issue45526@roundup.psfhosted.org>
In-reply-to
Content
Given this feedback:

https://github.com/python/cpython/pull/14474/files#r725488766

it is perhaps not so safe to assume that only the lower 48 bits of virtual addresses are significant.  I had the idea that Go made similar assumptions but now I'm not sure it does.  There is also a comment in this article about 5-level page tables in Linux:

https://lwn.net/Articles/717293/
https://lwn.net/Articles/717300/

I.e. that Linux does not allocate virtual address space above 47-bit by default.

Setting ADDRESS_BITS to 64 is safer and the performance impact seems small. The virtual memory size of a small Python process goes up a little.  Resident set size doesn't significantly change.  I think the pyperformance changes are just noise.  The pyperformance attached file shows the 3.10 branch with ADDRESS_BITS set to 48 and to 64.
History
Date User Action Args
2021-10-19 16:48:44naschemesetrecipients: + nascheme, methane
2021-10-19 16:48:44naschemesetmessageid: <1634662124.91.0.148058700143.issue45526@roundup.psfhosted.org>
2021-10-19 16:48:44naschemelinkissue45526 messages
2021-10-19 16:48:44naschemecreate