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