Up to Main Index                              Up to Journal for June, 2012

                      JOURNAL FOR MONDAY 18TH JUNE, 2012
______________________________________________________________________________

SUBJECT: Packed in like sardines
   DATE: Mon Jun 18 22:30:14 BST 2012

Argh! - forgetting to update the journal again :( So what's been going on?

Well, Friday evening and over the weekend - well a little bit - I hacked the
client package about again. It's now roughly half the size it was and only
uses one Goroutine - for reading input - instead of two. The sending one was
dropped. I also removed several - now redundant - channels and simplified the
whole lot.

I've also lowered resource usage and improved performance. Well lowered CPU
usage even further, it was already quite low.

I've also been doing all of this on the Go 1.0.2 that was recently released.
First impressions? A very nice release :)

So ... my dinky dual-core E1400 @ 2.00GHz from April 2008 (running 64bit
Debian Testing) will happily handle 512+ clients (test bots). On an i7 8 Core
860 @ 2.80GHz I've pushed it upto around 5,000 and then hit a serious bottle
neck in the starting location - 5,000 clients connecting simultaneously trying
to grab the BRL 'big room lock'[1]. Need to think about the best way to handle
that situation...

Anyway having 1,000 players suddenly appear in a location is pretty
unrealistic anyway. There needs to be limit on the number of players per
starting locations. Say 10 players per starting location. If you only have a
few hundred rooms having 5,000 players at once would make things pretty
packed, hectic and unplayable :D

--
Diddymus

  [1] Named in tribute to the Linux kernel 'big kernel lock' that is no more.
      In WolfMUD the BRL stops concurrency within a location. In Linux the BKL
      stopped concurrency in kernel space.


  Up to Main Index                              Up to Journal for June, 2012