The algorithm sparsely uses 512MB of virtual address space for its allocation and caches. For each of about 40 sizes, it keeps an array of fixed size blocks, plus a bunch of per thread and per CPU caches.<p>In a 32bit world, taking 1&#x2F;4 to 1&#x2F;8 of the address space would be impolite. In a 64 (or 48) bit world it doesn&#x27;t matter.