Walter's DConf 2014 Talks - Topics in Finance

Paulo Pinto pjmlp at progtools.org
Sun Mar 23 01:03:09 PDT 2014


Am 23.03.2014 08:13, schrieb Russel Winder:
> 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.
>

Well, there is a nice quote from Bjarne as well:

  "C++ is my favourite garbage collected language because it generates 
so little garbage"

And yet C++11 got to have an optional GC API defined, so even the 
ANSI/ISO folks do recognize its value in C++.

Visual C++ already supports it,

http://msdn.microsoft.com/en-us/library/vstudio/hh567368%28v=vs.120%29.aspx

--
Paulo


More information about the Digitalmars-d mailing list