On Sun, Mar 09, 2008 at 11:23:31 -0700, Dustin Sallings wrote: > As someone mentioned, ketama does use all of the md5,
For continuum generation---yes, but on every request it computes MD5 of the key, and then uses 4 lowest bytes of that (see ketama_hashi() function). Not to say that selected 4 bytes of MD5 may have different distribution properties and the like. > At this point, ketama is a baseline as it is the de facto standard. Since Russ of last.fm seem to not mind changing the implementation slightly, I'd rather take this opportunity and replace MD5 with something else (and also use binary numbers in place of sprintf( ss, "%s-%d", slist[i].addr, k ); for point generation). It's not like I experience problems implementing the algorithm as it is, I mentioned shared memory just to clarify why one might hesitate linking with libketama blindly. But I don't want the clients to have "compatible ketama or fast ketama---choose any" "flexibility" in them ;). -- Tomash Brechko
