https://issues.dlang.org/show_bug.cgi?id=24006
Issue ID: 24006
Summary: Document locking behavior of the default GC
Product: D
Version: D2
Hardware: x86
OS: All
Status: NEW
Severity: enhancement
Priority: P1
Component: dlang.org
Assignee: [email protected]
Reporter: [email protected]
As Steven mentions here:
https://forum.dlang.org/post/[email protected]
> The D GC has a single global lock to allocate memory -- even memory that
> might be on a free list. So the threads are all bottlenecked on waiting their
> turn for the lock.
This behavior isn't documented on https://dlang.org/spec/garbage.html
But it is mentioned in passing on this page:
https://dlang.org/articles/d-array-article.html#caching
Specifically "Doing this means an O(lg(n)) lookup in the GC's memory pool for
every append (not to mention acquiring the global GC lock)."
--