ok
2013/1/7 dormando <dorma...@rydia.net> > If you want to contribute, helping find/fix bugs in the 1.6 tree is pretty > great. There're also probably some easy bugs to investigate or fix on the > google code bug tracker. > > -Dormando > > On Fri, 4 Jan 2013, liubo wrote: > > > I means, if there are some work to improve memcache, I will try to code > it. > > memcache has been widely used,it's perfect software. I just want to > learn from it , and contribute it if I can. > > > > > > 2013/1/4 liubo <lb.falc...@gmail.com> > > Now,reading the code. > > But not just read,I want to try make some code to improve it. > > > > > > 2013/1/4 dormando <dorma...@rydia.net> > > Yeah. Removing contended locks gives more speedup. > > > > But noting the performance numbers from 1.4.15, going even faster > than > > that is almost useless. It's very hard to get your network to > perform up > > to those levels. > > > > Though there's still room for improvement. > > > > Are you just reading the code academically, or do you have a > problem > > you're trying to solve? > > > > On Fri, 4 Jan 2013, liubo wrote: > > > > > remove global mutex will get more speed up,right? > > > > > > > > > 2013/1/4 liubo <lb.falc...@gmail.com> > > > For example,slabs_lock?? some global mutex. > > > > > > > > > 2013/1/4 dormando <dorma...@rydia.net> > > > > Hello. > > > > I found all stat is protected by thread's mutex. > > > > All event is running in the signal thread context. > > > > > > > > Why need the protect,for sum?? or for command STAT?? > > > > > > > > thanks > > > > > > It's for when the summation happens, you can get consistent > reads. > > > > > > NOTES, SINCE I HEAR THIS A LOT: > > > > > > *uncontested* mutexes aren't free, but are very nearly free. > *contested* > > > mutexes slow things down a lot. > > > > > > Since those thread locks are only ever called in the brief times > in which > > > you actually run stats commands, they have a very very small > amount of > > > overhead. > > > > > > When I was doing the lock scaling patches for 1.4.10-1.4.15 I > did test > > > this out: > > > > > > > https://github.com/dormando/memcached/commit/56ad41e1a19a7fc99da51bdca4fdcb524a300984 > > > > > > (a little further work would be required to make that change > permanent). > > > On 64bit systems you can do 64bit-aligned 8 byte memory reads > atomically, > > > so as long as the stats structure is all 64bit items, is 64bit > aligned, > > > and the external reader is ... just a reader, you can get pretty > accurate > > > readings. on 32bit you need the lock. > > > > > > So I thought I'd try removing the locks on my 64bit system and > test it. > > > There was *ALMOST NO* change in performance. I can't stress this > enough. > > > Everyone focuses on these locks but if you bust out a God Damned > Ruler > > > they don't even use crap for cycles. The other work I did ended > up having > > > a much higher effect when tested, and I merged those branches > instead. I > > > think it was between 1-5% change in speed. By comparison making > the lock > > > shorter in the item_alloc code was a 15-30% bump. > > > > > > It'll be nice to remove the uncontested locks and save some CPU, > but it > > > was a much lower priority than other work. > > > > > > have fun, > > > -Dormando > > > > > > > > > > > > > > > -- > > > -- liubo > > > > > > > > > > > > > > > -- > > > -- liubo > > > > > > > > > > > > > > > > -- > > -- liubo > > > > > > > > > > -- > > -- liubo > > > > > -- -- liubo