My wish for 2015...
Xinok via Digitalmars-d
digitalmars-d at puremagic.com
Sat Dec 20 14:11:33 PST 2014
I'm going to make a stark proposal to the you all, the community
and all D users as whole. I wish for us to set an ultimate goal
to be made top priority and complete by the end of next year. My
wish is to resolve the issue of memory management for D by the
end of 2015. This is a significant issue that has affected most
of us at one point or another. I think this gives D a bad rap
more than anything else and is a point of contention for many,
especially those with a background in C/C++.
I think the problem of memory management can be reduced to two
points:
(1) The garbage collector for D is sub-par.
(2) There are too many implicit allocations in Phobos.
I think three goals need to be met for the problem of memory
management to be satisfied:
(1) We need a precise garbage collector. The fact that a
garbage-collected language experiences memory leaks truly
reflects poorly on on D.
(2) Furthermore, we need to improve the performance of the
garbage collector. There are some things the developer can do to
reduce the time and frequency collection cycles, but the current
situation is far from optimal.
(3) We need a viable alternative to the garbage collection.
Whether that be allocators, ref counting, or full-fledged manual
memory management, there is great demand for the ability to use D
without the GC with little hassle.
I sincerely believe that this is the greatest issue facing D
today and something that should have been resolved a long time
ago. The fact that relatively simple programs can crash with
out-of-memory errors (especially 32-bit executables) and
high-performance code experiences frequent or lengthy collection
cycles means we have a bad situation on our hands.
Things like @nogc are a start but much more needs to be done. I'm
not hoping for an optimal solution, nor am I expecting a
state-of-the-art garbage collector. I think we should simply aim
for "good enough". Then once we have a better memory management
scheme, we can begin incorporating these changes into Phobos.
What do you all think? Can we make improving memory management
the top priority for 2015 with the goal of developing an adequate
solution by the end of next year?
More information about the Digitalmars-d
mailing list