A Lock-Free Hash Table (google video)

Dan murpsoft at hotmail.com
Mon Apr 2 09:44:40 PDT 2007


Sean Kelly Wrote:
> Yup.  It's rehashing that gets a bit messy.
> 
> > I'm going to hope that moving a 16-byte uses SSE2...
> 
> Nope.  It's all plain old D code at the moment IIRC.

Rehashing, you'd probe until you've found the right location *then* move the 16-byte struct.  He was suggesting using stride-1 probing for better cache coherency - but it's aweful at cascading into linear searches for an empty slot.

Plain old D doesn't use SSE or SSE2???  Oh my...  Hasn't SSE been out since 1997?  I guess with 64-bit GPR's, SSE1 is practically irrelevant now, but SSE2 and SSE3 could definitely improve performance of certain things... like copying arrays of 16-byte Value structs in DMDScript.  I assumed that was what Walter meant when he commented that using 16 byte Value structs was critical for performance.

I'll be sure to use little asm { } blocks to get certain things done then.

The wonderful thing about D is that Walter provides a default mechanism for prototyping that works well.  If you want something that works superbly,you can cut under it without much hassle.

A superb language, that D.



More information about the Digitalmars-d mailing list