You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
title='Set ADDRESS_BITS to 64 for obmalloc radix tree'updated_at=<Date2021-10-21.21:06:33.768>user='https://github.com/nascheme'
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:
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.