[gclist] Page grouping trick

Pekka P. Pirinen pekka@harlequin.co.uk
Fri, 18 May 2001 19:20:47 +0100


On Fri, 18 May 2001, John Levon wrote:
> On Thu, 17 May 2001, Pekka P. Pirinen wrote:
>> If the virtual addresses are permanent, your live data will not be
>> compacted in any useful sense: It's still fragmented and allocating
>> new objects still requires a free list (of free virtual ranges). [...]
>
> Hmm, that's a good point. However being able to move stuff easily allows
> dynamic re-grouping, alleviating false sharing of physical pages for many
> unrelated objects. This /could/ have a real impact on paging.

Not that much in this scheme: Since the virtual addresses are
permanent, all the surviving objects probably still share pages with
other survivors that used to be next to them.  Of course, you aren't
copying survivors from elsewhere onto the page, but this is probably a
disadvantage, because you'll eventually use any free space on the page
to allocate new, entirely unrelated objects.  A copying collector that
copies related objects next to each other would get better locality.
-- 
Pekka P. Pirinen, Harlequin Limited
"Virtual" means never knowing where your next page is coming from.