Well, not quite.

My weekend plan fell apart fairly quickly :)

After updating SVN repositories for all 4 branches involved under Windows and my Ubuntu virtual machine, first task was to merge code. Don’t ask why, but I somehow stumbled upon a line of code that literally blew me away: for every incoming game connection, a 64Kb block of memory is allocated. The only other reference to this memory was in the disconnect code, which freed it.

Ok, well that’s 76Mb of RAM saved per server.

Now … wtf was I doing before this distracted me?

Plan for the weekend

I checked a rewrite of the cell-host grid system into SVN a few weeks back. I’m going to make a branch of the current baseline and re-integrate the new grid system code into that, instrument it up with unit tests, and see if I can’t have it fully working by tonight, then run it through it’s paces tomorrow.

Or … maybe I’ll spend a bunch of time today reviewing recent ideas about neighbor search systems first.

Part of the new grid system is slightly better optimized vis-list building on the host. More importantly, the new mechanism is encapsulated in an entirely thread-safe way, so I can potentially parallelize it, which means I can be a little more methodical inside the processing routines.

The cell hosts themselves are dual core-2 xeons (4 physical cpu cores), but we get very little work out of more than 1 core at a time :(