Walter's DConf 2014 Talks - Topics in Finance

Russel Winder russel at winder.org.uk
Sun Mar 23 00:13:37 PDT 2014


On Sat, 2014-03-22 at 21:13 +0000, deadalnix wrote:
[…]
> HFT is very latency sensitive. D stop the world GC is a no go.
> 
> D needs a better GC to be viable in these markets.

GC technology was well beyond "stop the world" in Common Lisp in the
1990s. Java learnt this lesson in the 2000s. IBM, Azul, and now OpenJDK
have an array of very sophisticated, and indeed some real-time, garbage
collectors. Clearly though the Lisp and Java worlds are very different
from the C++, D and Go worlds, thus sophisticated algorithms cannot
simply be transplanted.

As I understand it, Go has a parallel mark and sweep algorithm which is
relatively unsophisticated, and a bit "stop the world", but they claim
fine for small heaps: generational and compacting collectors (as per
Java) are only beneficial for large heaps is the claim (but I haven't
seen much data to back this up for Go). There is rumour of a change, but
this has been circulating for ages.

I guess Herb Sutter's (reported) view that he can write C++ code with no
new and so no need for garbage collection, if applied to D would mean
that although the collector "stopped the world", the heap would need no
work and be small. But for real time you would just have to remove the
GC completely to have the needed guarantees.
-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d mailing list