On Saturday, 20 December 2014 at 22:11:35 UTC, Xinok wrote:
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?
This may only be a personal opinion but I also agree that memory
management should be made the #1 priority. That being said, in
order to make this a priority it would be great to see more
organization when it comes to D development. A simple
prioritized list of features and developers currently working on
them would be a great start:) I like the summary of features and
completely agree.