New submission from Neil Schemenauer <nas-pyt...@arctrix.com>:

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.

----------
assignee: methane
files: pyperf-compare-addr-64.txt
messages: 404317
nosy: methane, nascheme
priority: normal
severity: normal
stage: patch review
status: open
title: Set ADDRESS_BITS to 64 for obmalloc radix tree
Added file: https://bugs.python.org/file50370/pyperf-compare-addr-64.txt

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45526>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to