Hi all, I've been silently working on my own memcached clone for quite some time. Apart from implementing the memcached protocol I wanted to get a reusable framework for other kinds of servers, so in a way memcached was a testbed for a network library competing e.g. with libevent and libuv.
The project is located here: https://github.com/ademakov/MainMemory I am about to make the very first release of the project fixing the last known issues. It is not yet ready for real life use, but just to play around with it. For those who cannot find a better use of their time I welcome if they try it and report any problems, issues, suggestions. The key features of the framework: * co-operatively scheduled fibers running on top of OS-level threads; * concurrent event loop with lock-free thread notification mechanism; * memory allocation mechanisms that try to avoid locks as much as possible. The memcached-related features are nothing special, just regular text and binary protocol via TCP. The internals are a bit different however: * no slabs, all items are allocated in a single dlmalloc space; * use clock eviction algorithm instead of LRU; * there is experimental code that uses ring-buffer-based combiners instead of locks for synchronization. Generally, IMHO, my version is written in a more modular fashion than the original memcached. So it should be more open for those who are interested to modify it for e.g. their research purposes and such. Regards, Aleksey -- --- You received this message because you are subscribed to the Google Groups "memcached" group. To unsubscribe from this group and stop receiving emails from it, send an email to memcached+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.