Message passing between threads: Java 4 times faster than D

Sean Kelly sean at invisibleduck.org
Thu Feb 9 07:44:46 PST 2012


So a queue per message type?  How would ordering be preserved? Also, how would this work for interprocess messaging?  An array-based queue is an option however (though it would mean memmoves on receive), as are free-lists for nodes, etc.  I guess the easiest thing there would be a lock-free shared slist for the node free-list, though I couldn't weigh the chance of cache misses from using old memory blocks vs. just expecting the allocator to be fast. 

On Feb 9, 2012, at 6:10 AM, Gor Gyolchanyan <gor.f.gyolchanyan at gmail.com> wrote:

> Generally, D's message passing is implemented in quite easy-to-use
> way, but far from being fast.
> I dislike the Variant structure, because it adds a huge overhead. I'd
> rather have a templated message passing system with type-safe message
> queue, so no Variant is necessary.
> In specific cases Messages can be polymorphic objects. This will be
> way faster, then Variant.
> 
> On Thu, Feb 9, 2012 at 3:12 PM, Alex_Dovhal <alex_dovhal at yahoo.com> wrote:
>> Sorry, my mistake. It's strange to have different 'n', but you measure speed
>> as 1000*n/time, so it's doesn't matter if n is 10 times bigger.
>> 
>> 
> 
> 
> 
> -- 
> Bye,
> Gor Gyolchanyan.


More information about the Digitalmars-d mailing list