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