www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - GC and MMM

reply "Ilya Yaroshenko" <ilyayaroshenko gmail.com> writes:
Hi All!

Does GC scan manually allocated memory?
I want to use huge manually allocated hash tables and I don't 
want to GC scan them because performance reasons.

Best regards,
Ilya
Aug 20 2015
next sibling parent "luminousone" <rd.hunt gmail.com> writes:
On Thursday, 20 August 2015 at 17:13:33 UTC, Ilya Yaroshenko 
wrote:
 Hi All!

 Does GC scan manually allocated memory?
 I want to use huge manually allocated hash tables and I don't 
 want to GC scan them because performance reasons.

 Best regards,
 Ilya
Yes, just don't store any GC managed pointers in said manually allocated memory. Or at the very least consider any GC managed pointers to be weak pointers. core.memory add/remove range have to be used put c malloc memory into the GC, simply don't call these functions.
Aug 20 2015
prev sibling next sibling parent "rsw0x" <anonymous anonymous.com> writes:
On Thursday, 20 August 2015 at 17:13:33 UTC, Ilya Yaroshenko 
wrote:
 Hi All!

 Does GC scan manually allocated memory?
 I want to use huge manually allocated hash tables and I don't 
 want to GC scan them because performance reasons.

 Best regards,
 Ilya
GC does not scan memory allocated with malloc from core.stdc.
Aug 20 2015
prev sibling parent "thedeemon" <dlang thedeemon.com> writes:
On Thursday, 20 August 2015 at 17:13:33 UTC, Ilya Yaroshenko 
wrote:
 Hi All!

 Does GC scan manually allocated memory?
Only if you ask GC to do it - by calling core.memory.addRange.
Aug 20 2015