Escaping the Tyranny of the GC: std.rcstring, first blood

"Nordlöw" via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 24 04:29:21 PDT 2014


On Monday, 22 September 2014 at 23:09:28 UTC, Andrei Alexandrescu 
wrote:
> On 9/22/14, 12:18 PM, "Nordlöw" wrote:
>> On Monday, 15 September 2014 at 02:26:19 UTC, Andrei 
>> Alexandrescu wrote:
>>> http://dpaste.dzfl.pl/817283c163f5
>>
>> You implementation seems to hold water at least in my tests 
>> and save
>> memory at
>>
>> https://github.com/nordlow/justd/blob/master/conceptnet5.d
>
> Awesome, thanks for doing this. How did you measure and what 
> results did you get? -- Andrei

I just checked that I didn't get any segfaults :)

Memory usage in my conceptnet5.d graph (around 1.2GB) didn't 
differ noticeable when using RCString compared to string in a 
network that allocates around 10 million RCStrings as keys in a 
hash-table. Average RCString length is about 14. Is that 
surprising?

I didn't test speed.

I've found a potential bug in msgpack-d that when fixed enables 
packing of RCString. See:

https://github.com/msgpack/msgpack-d/issues/43


More information about the Digitalmars-d mailing list