consistent hashing: in Perl, standards
Just Marc
marc at corky.net
Thu Apr 26 06:47:31 UTC 2007
As for a standard memcache client library, I'm all for a pure C version
to be bundled with memcached.
Reasons:
1. C is harder than higher for most people to get right than higher
level languages, hence competent people should be involved.
2. C is faster than higher level languages and memcache is all about
performance.
3. The PHP memcache module uses the C library and I'm betting that's the
most popular users of memcache in general.
4. The extreme urgency in the need to replace libmemcache is shown below:
Urgency:
1. Get the latest and apparently only available version
http://people.freebsd.org/~seanc/libmemcache/libmemcache-1.4.0.rc2.tar.bz2
(Feb 2006, nice!)
2. memcache.c:1520:mcm_get_line read this function through, in
particular, lines 1554 to 1603. Then look at
memcache.c:2509:mcm_server_readable and try to imagine what happens if,
for whatever reason, HAVE_SELECT is not defined. Well, for some
reason, configure failed to set this define on my vanilla Debian box.
I watched my system interrupts sky rocket to 300+k/s. Now imagine how
many people have it running like that though in less busy environments
and hence less impact.
3. I contacted the author about it a few weeks ago, sadly there was no
response.
4. The rest of the code is a bit edgy, too, I'm guessing a patch to
clean it up would be larger than the code itself.
5. With the above I mean no disrespect to the original author, it seems
that he just doesn't have the time to maintain it like it needs to be.
Marc
More information about the memcached
mailing list