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