3 ms·
Interesting that garbage collection is listed as a miss due to latency, and Go has gotten popular with garbage collection with an emphasis on low latency.
by Thorrez 7y ago
Interesting that garbage collection is listed as a miss due to latency, and Go has gotten popular with garbage collection with an emphasis on low latency.
- pjmlp 7y agoThe big issue is lack of technical resources to improve GC's performance on D's runtime. Some improvements have been made lately, but not at the level of manpower and CS background from other GC enabled languages. I am quite confident that if D had something like Microsoft behind it, its GC would long be as good as Sing# or System C# (M#) were.
- WalterBright 7y ago> The big issue is lack of technical resources to improve GC's performance on D's runtime. The underlying issue is that to make the GC more performant requires the addition of "write gates", where writing through a pointer notifies the GC that the memory object has changed. This is a reasonable choice when a language is heavily GC dependent (like Java). However, D is not at all heavily GC dependent. But it is very dependent on memory references. Hence the GC speedup from adding write gates would be more than lost from the cost of executing those write gates.
- earenndil 7y agoGo's GC makes certain compromises that affect the language as a whole; this is not reasonable for d, which is frequently used without GC. The situation could definitely be improved by a lot; d's GC is just plain bad right now. But looking at other languages' GCs may give a misleading impression because those GCs' designs are not suitable for d.