File: FAQ

package info (click to toggle)
perlmoo 0.045
  • links: PTS
  • area: main
  • in suites: slink
  • size: 404 kB
  • ctags: 242
  • sloc: perl: 5,211; makefile: 111; sh: 77
file content (43 lines) | stat: -rw-r--r-- 2,249 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
This is the perlmoo Frequently Asked Questions list.

Q: I entered ansi escape sequences and the moo accepted them, and I turned
   the screen black on black / beeped other users / drew a pretty picture.
   Shouldn't this be disabled?

A: I don't think the moo should be responsible for setting policy on this.

   Some applications of perlmoo may use escape sequences for valid purposes -
   some people like colored moo's, some people may even like the occasional
   beep. If someone abuses it, they should be reported to the moo's wizards
   and delt with. With that said, there is an easy technical fix, just modify
   Person.pm's tell() or parse() functions to strip high-bit characters. Or,
   use a moo client that filters out stuff you don't like.

Q: How well does perlmoo scale?

A: This isn't yet tested in real life. Someone please start a wildly
   successful perlmoo server so I can get some real numbers? ;-) I haven't
   done any optimizations at all yet.

   I've done some testing on how well it scales to large numbers of objects
   -- on my pentium 166 with 80 mb of ram, I created 1000 people, 1000
   objects, 1000 rooms, and 1000 exits (see stresstest.pl). The resulting
   perlmoo process took up 18684k -- 14168k more than it does with the base
   db. Dumping the database took 2 minutes, and generated a 1360k file. 
   Loading it again took 15 minutes.

   Connecting to the moo and getting a login prompt took 9 seconds.
   Logging in as wizard from there was an additional 12 seconds.
   Most commands took about 15 seconds, once I was logged in.

   Then I dropped all the stuff I was carrying, moved to a new room, and
   tried some commands. Most things were exactly as fast as in a perlmoo
   with 14 objects.

   In general, the only problems you seem to run into with large numbers of
   objects is if there are many objects in a single room (or container or
   person). Then they all need to be looked through for each verb that is
   run. If there are only a reasonable number of objects in a room, then the
   only operations that take too long are ones that involve scanning the 
   whole list of objects - anything that uses FindByType or FindByName in
   the code. (Those are prime optimization candidates).