I re-did facebook-memcached to make it consistent with dustin's github
repository.  (No more "src" subdirectory, and I redid the commit
history so that it appears to be a branch from the original 1.2.3
release at
 
http://github.com/dustin/memcached/commit/437beab948aec088dac361f27c89f3619fee3228
)

It is at

 http://github.com/fbmarc/facebook-memcached

I left the original at

  http://github.com/fbmarc/facebook-memcached-old

I hope this will make it easier to for anyone interested to compare,
merge, and cherry-pick updates.  I am a complete git n00b, so if you
have suggestions on how I can repackage this repository to make life
easier, feel free to enlighten me.

The biggest difference between our branch and the main branch is the
addition of flat-memory allocation.  We did this for two reasons.
First, we wanted to solve the slab-ghetto problem.  That is the
situation where one slab is forcing out hot keys for lack of memory
while another slab holds onto stale objects.  Second, we hoped we
would improve memory usage with a flat, scatter-gather memory
allocator.

Our flat-memory allocator met the first goal but failed on the
second.  As of today, it takes about 10% more memory for our typical
object distribution than the slab allocator.  We're continuing to
investigate how to improve this because the slab-ghetto problem is a
constant nuisance for us.

In the next couple of weeks I'm going to review all of the updates in
dustin's master branch and pull as much as I can into ours.  I'm also
cleaning up our C UDP memcache client, php extension and proxy and
will get them up on github as soon as I get everything in presentable
shape.

I'll make announcements here as I make updates, and, as always, look
forward to your comments and questions.

Reply via email to