Andrei Alexandrescu wrote:
grauzone wrote:
bearophile wrote:
void bar(int n) {
scope int[] a = new int[n]; // stack-allocated
foo(a);
}
Why are you making such proposals, when one of the core developers
even thought about removing normal "scope"? It's almost 100%
guaranteed that nobody will listen.
I personally find it a good idea to find new ways to reduce producing
memory garbage. The D GC is slow and bad, so you'd better avoid it.
Let's make this claim: it is impossible to write high performance
applications (that need to make use of dynamic memory allocation) in D
without resorting to "unsafe" techniques. That would include
allocating memory on the stack, or manually freeing memory.
I write high-performance code in D without resorting to unsafe
techniques. Much of my code allocates arrays only in the beginning and
uses them throughout.
I intended to exclude this case with applications "that need to make use
of dynamic memory allocation". But I guess this doesn't apply to
programs that only allocate on initialization.
So, how about programs that allocate/release memory while doing
computations?
Andrei