Avoiding allocation in broadcast server
Casper Færgemand" <shorttail at hotmail.com>
Casper Færgemand" <shorttail at hotmail.com>
Sat Feb 8 04:22:11 PST 2014
On Saturday, 8 February 2014 at 11:15:31 UTC, Jakob Ovrum wrote:
> However, if this one allocation really is a problem, you might
> want to implement a simple free-list kind of allocator to
> allocate from. Say, pre-allocate N string buffers with M length
> and treat them as a free-list. If the free-list is full (all N
> buffers are being processed), wait until there is a free space
> before reading another datagram from the socket.
>
> This makes program performance deterministic depending on the
> worst-case complexity achieved when allocating from the
> free-list. GC cycles are never run if the program doesn't
> allocates GC memory.
Meh, it sounds rather ghastly. Perhaps if I periodically call
GC.collect instead I can keep it down to a manageable delay.
More information about the Digitalmars-d-learn
mailing list