https://issues.dlang.org/show_bug.cgi?id=14571
--- Comment #11 from Vladimir Panteleev <thecybersha...@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. --