www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - GC page and block metadata storage

reply Per =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
Should a new fresh GC for D store block metadata inside the page 
itself or in a (pool) structure separate from the page?

I'm already aware of Dmitry's suggestion to separate value-type 
pools from pools of types possibly containing addresses.
Oct 02 2018
parent reply thedeemon <dlang thedeemon.com> writes:
On Tuesday, 2 October 2018 at 07:25:36 UTC, Per Nordlöw wrote:
 Should a new fresh GC for D store block metadata inside the 
 page itself or in a (pool) structure separate from the page?

 I'm already aware of Dmitry's suggestion to separate value-type 
 pools from pools of types possibly containing addresses.
I guess you would want to scan the metadata without thrashing all the pages. Keeping metadata together compactly is good for cache. Of course it depends on how exactly it's going to be used.
Oct 02 2018
parent Per =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Tuesday, 2 October 2018 at 09:43:02 UTC, thedeemon wrote:
 I guess you would want to scan the metadata without thrashing 
 all the pages. Keeping metadata together compactly is good for 
 cache.
Can you briefly elaborate on what use case(s) you hade in mind when you wrote this?
Oct 02 2018