[Python-Dev] The untuned tunable parameter ARENA_SIZE (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Sun Jun 4 04🔞13 EDT 2017


On Sat, 3 Jun 2017 21:46:09 -0500 Tim Peters <tim.peters at gmail.com> wrote:

A virtual address space span of a terabyte could hold 1M pools, so would "only" need a 1M/8 = 128KB bit vector. That's minor compared to a terabyte (one bit per megabyte).

The virtual address space currently supported by x86-64 is 48 bits wide (spanning an address space of 248 bytes, that is 256 TB), so you would need a 2(48-20) bits vector, i.e. 256 Mbits or 32 MB.

Note Intel has plans to extend the virtual address space to 2**57 bytes: https://www.phoronix.com/scan.php?page=news_item&px=Intel-5-Level-Paging

The system calls can't be relied on to return arena-aligned or pool-aligned addresses.

Unless using mmap() for pools with a size equal to or an exact divisor of the system's page size, that is ;-)

Regards

Antoine.



More information about the Python-Dev mailing list