More radical ideas about gc and reference counting

w0rp via Digitalmars-d digitalmars-d at puremagic.com
Sun May 11 03:57:47 PDT 2014


The vast majority of software, at least as far as I can see, use 
web services. That makes up the vast majority of software on my 
Android phone. Garbage collection is definitely applicable for 
web servers, so there is a huge area where D and a garbage 
collector can apply nicely. I think the arguement that the vast 
majority of software should be real time now is very weak, I 
wouldn't argue that. I would simply argue that garbage collection 
isn't applicable to real time software, because that is a given.

I'm really not sure how anything but a manual memory management 
allocation scheme could work with real time software. It seems to 
me that if you are writing software where any cost in time is 
absolutely critical, and you must know exactly when you are 
allocated and deallocating, then the best you can hope to do is 
to write these things yourself.

I don't think it's possible for a computer out there to manage 
time for you at the most fundamental level, managing memory. If I 
was to write a real time application, I would not interact with a 
garbage collector and use primarily small data structures on a 
stack. If I needed to allocate objects on a heap, I would use 
something I could resize and destroy pretty manually, or at least 
in a scoped manner, like std::vector. I can't see how garbage 
collection or automatic reference counting would help me. I would 
want to have primarily scoped or unique references to data, not 
shared references.


More information about the Digitalmars-d mailing list