On 4/7/15 10:24 AM, Walter Bright wrote:
The current D associative array algorithm


https://github.com/D-Programming-Language/druntime/blob/master/src/rt/aaA.d

uses an array of buckets with a linked list attached to the buckets to
resolve collisions.

Linked lists are perhaps the worst (i.e. slowest) data structure
possible on modern CPUs with memory caches.

A possible cache-friendly replacement would be an array of buckets with
local probing to resolve collisions.

Arrays would need to move data. Current hashtables rely on values staying put. -- Andrei

Reply via email to