On Friday, 21 November 2014 at 08:02:07 UTC, philippecp wrote:
.Net does have a pretty damn good GC. It is both a moving
garbage
collector (improves locality, reduces heap fragmentation and
allows for memory allocation to be a single pointer operation)
and a generational garbage collector (reduces garbage collection
cost by leveraging heuristic that most collected objects are
usually very young). I believe their server GC is even
concurrent
to avoid long stop the world pauses.
The problem is I'm not sure how much of those principles can be
applied to D. I can see moving objects being problematic given
that D supports unions. Another thing to consider is that .Net's
GC is the results of many man years of full time work on a
single
platform, while D is mostly done by volunteers in their spare
time for many platforms. It would probably require a lot of work
to port, unless you're volunteering yourself for that work;)
...
The official .NET runs on x86, x64, ARM (including cortex
variants), MIPS.
It scales from embedded hardware running with 512KB of flash and
128KB of RAM (http://www.netmf.com/get-started/), all the way up
to Azure deployments.
http://www.microsoft.com/net/multiple-platform-support
--
Paulo