[MUD-Dev] Benchmarking MUDs

Chris Gray cg at ami-cg.GraySage.COM
Mon Sep 10 23:05:03 New Zealand Standard Time 2001

> From: "Adam Martin" <ya_hoo_com at yahoo.com>

> Sorry, to clarify, I'm assuming the tests were merely specified
> fully - I don't expect someone else to come along and volunteer to
> write a new test suite for my proprietary server core. If a set of
> tests is defined clearly and unambiguously enough, I can code them
> up reasonably quickly (if I couldn't, then I'd be running back to
> the drawing board hitting myself over the head and asking why on
> earth it was difficult to add new tests to my testing system? (and
> assuming laziness or oversight somewhere in the dev team that
> needed correcting before the code went to full test anyway!)).

Well, OK, I'll start with what I can quickly get.

(This first is from the ByteCode.txt file on my web pages.)  A
simple test program in softcode:

    proc hanoi(int fromPeg, toPeg, usingPeg, n)void:
	if n ~= 0 then
	    hanoi(fromPeg, usingPeg, toPeg, n - 1);
	    hanoi(usingPeg, toPeg, fromPeg, n - 1);

Execution times in seconds, for a 300 MHz P-II MMX, compiled with

	Unoptimized MUD server:

	    tree interpreter:	n = 22: 57	n = 23: 114
	    bytecode machine:	n = 22: 14	n = 23:  29

	Optimized MUD server:

	    tree interpreter:	n = 22: 34	n = 23:  68
	    bytecode machine:	n = 22:  4	n = 23:   9

Another simple statistic is the simple size of the MUD on-disk
database file for the active scenario (see my web page for what's in

  -rw-r-----    1 cg       users      836426 Sep  8 19:30 MUD.data
  -rw-------    1 cg       users       59148 Sep  8 19:30 MUD.index

On the last shutdown of the server (August 7):

  2001-08-07 20:07:15 Allocator:  used: 1224704  limit: 1000000000
  2001-08-07 20:07:15 allocs: 1857309  frees: 1857288  reclaims: 0  panics: 0

  (I understand the leaks, and they are false readings because of
  the way I've compiled the server.)

Current process size (no active clients):

  cg       14957  0.0  1.3  3444 1788 ?        S    Aug07   0:03 MUDServ -c1000000 -t16666:t -t16668:s -t16669:l
When I've tested in the past (room-only world, no tile region),
using my automated NPC's, I think I got up to 1000 NPC's trying to
do things that players do (move every couple of seconds, pick things
up, drop them, fight), before the system approached full CPU
load. Of course, that says absolutely nothing about
networking. (Same 300 MHz PII)

That's a start for some simple measurements. Things get harder from

Experience should guide us, not rule us.

Chris Gray     cg at ami-cg.GraySage.COM
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list