GC & IRC Server

Rory Mcguire rjmcguire at gm_no_ail.com
Tue Jul 27 11:54:17 PDT 2010


Sean Kelly wrote:

> Mengu Wrote:
> 
>> Hi all,
>> 
>> I was reading an IRC server's codes which was C++ and thought how
>> possible it was with D and started a discussion in the #d room in
>> freenode. Yet I'm very confused right now. Please go ahead and read the
>> logs here: http://pastie.org/1061905
>> 
>> Please let me know what you guys think on this issue.
> 
> Looks like wm4 is saying that false references will kill any long-running
> app.  That is, that because the GC is conservative it may treat some
> memory locations as pointers that really aren't pointers, which will in
> turn prevent the GC from collecting memory that has no actual references
> to it.  Three thoughts:
> 
> 1. There's a precise scanning patch in bugzilla right now.  If applied,
> this should largely eliminate this issue.
> 
> 2. This is only an issue for certain apps in the first place.  Something
> like an IRC server isn't likely to encounter this problem given the sort
> of data it operates on.
Surely all programs that have logging use the GC extensively? I have had a
problem with Java and log4j where the entire heap gets used up and its 
mostly because of unfreed concatenation of strings for logging e.g.:
logger.info("connection from"~ socket.remoteAddress());

lazy helps when logging is off but only then.

-Rory


More information about the Digitalmars-d mailing list