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

Reply via email to