Hi,

So I really wanted to learn Clojure and get familiar with the functional 
programming. As a side project I decided
to write a simple data structure server similar to Redis. It uses Redis 
protocol and already supports same data structures and main commands.
So any standard redis client can be used to connect to it as well as 
standard redis-benchmark tool.

Eventually I'd want to make it fast, distributed and extensible (so you can 
easily add any data structures you want). But for
now I'm solving very basic problems while learning the language.

https://github.com/yankov/memobot

Code must be very messy and not idiomatic - I never  had experience with 
Lisps nor functional programming before. I kept cleaning it up, but figured 
it'd be better to try to get feedback first. Would be very grateful if you 
guy could point me some obvious weirdness and bad choices in code.

Also some general questions: 

1. *How to achieve good throughput?* I run the same benchmarking tool as 
for redis and for SET command I get ~200 operations per second (for Redis 
it's 30k/sec). To implement a server I used a very simple jboss netty 
example without any tweaking. What would be a bottle neck here?

2. What would be a best way to implement sorted sets (like in Redis)? I 
used sorted maps and sorting them by values which I highly doubt is a 
log(n) operation..

Thanks.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to