[Issue 14571] [REG2.064] Large static arrays seem to lock up DMD

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri May 22 03:48:24 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=14571

--- Comment #11 from Vladimir Panteleev <thecybershadow at gmail.com> ---
(In reply to Walter Bright from comment #9)
> (In reply to Vladimir Panteleev from comment #7)
> > The problem is entirely with .init.
> 
> Which is a global variable, and has all the downsides of them. My advice
> still applies.

Certain data structures are much easier to implement using static arrays (for
example, object pools with statically-sized chunks).

> Global arrays already have that extra indirection.

You mean TLS?

Arrays in the data segment have a fixed address. This means that arr.ptr is
actually known at compile time (whether the language exposes it or not). arr[5]
involves no address calculation at all during program execution as well.

> True, then it goes into the BSS segment, but the other issues still apply
> that are not fixable by changing the compiler (i.e. executable bloat).

BSS does not bloat executable size, only virtual memory.

--


More information about the Digitalmars-d-bugs mailing list