Concerning speed arguments recently taking place: Remember, folks, these are running on servers - server software running on server hardware. Not workstation software running on workstation hardware. The jist of the message: Parsing text, reading a bunch of small files (or one large one) - what does it all matter when, while they may have speed differences, they effectively are unnoticeable speedwise, and in the end, they provide the advantages YOU want. Ascii pfiles are a godsend for me, and ascii object files are also, as I can add new fields, change the way currently existing ones work, and also save disk space. If this were a high end commercial MUD and getting all the speed out of it as possible was necessary, and I had the time to write utilities to convert the files every little change I make, then perhaps I would use binary pfiles. Now the useless irrelevant bragging data: My C++ CircleMUD with 70k lines (2 megabytes) of code, using accessor functions and all kinds of fun overhead (and now I'm learning about Rules, find out more at http://www.research.att.com/sw/tools/r%2b%2b/ - basically a cleaner replacement to set-accessors), uses (according to ps -ux: USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND avp 3555 3.6 4.6 19020 18032 ? S 21:37 2:12 bin/circle -q 4444 avp 3562 0.4 2.1 9416 8384 ? S 21:38 0:14 bin/circle -q 4000 Each has been up for 1 hour. 4444 has had a boot time high of 23 players, 20 sockets connected at this snapshot. 4000 has a boot time high of 4 players, 4 sockets connected. Here is a snapshot of TOP's system report: 10:40pm up 13:49, 12 users, load average: 0.23, 0.57, 0.56 157 processes: 147 sleeping, 1 running, 8 zombie, 1 stopped CPU states: 9.6% user, 24.2% system, 32.9% nice, 66.3% idle Mem: 386444K av, 384316K used, 2128K free, 80236K shrd, 82724K buff Swap: 130748K av, 0K used, 130748K free 72408K cached There are plenty of MUDs running here, somewhere around 30 or so. Its a P2/233, LX. Now admittedly 3.6% CPU time is high for a MUD, but a quick stat check shows: 20 players in game 18 connecte 381 registere 630 mobiles 525 prototype 3807 objects 1377 prototype 7482 rooms 61 zone 5 large buf 380 buf switches 1 overflow And this is with DG Scripts, MOBProgs, and other "run-time overhead adding" patches. Now that I'm done bragging, I just want to say, these are actually very good stats, especially considering the overhead of the code. There is a lot of special linked list usage (I use a custom template, LList<>, which uses iterators that it has to create for each iteration and delete at the end, but it is safe to add/remove items from the list without messing up any iterators - I'm about a month away from releasing my codebase as LexiMUD, look for it then... I do want to redo the index system to a new class tho also, and gut mobprogs, but I can't gut them till my staff convert all 400 existing ones over). - Chris Jacobson +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST