[MUD-Dev] Re: Re: MUD Development Digest
J C Lawrence
claw at under.engr.sgi.com
Wed Apr 22 16:25:36 CEST 1998
From: "Dr. Cat" <cat at bga.com>
Message-Id: <199804042149.PAA27614 at zoom.bga.com>
Subject: Re: [MUD-Dev] Re: MUD Development Digest
To: cynbe at muq.org (Cynbe ru Taren)
Date: Sat, 4 Apr 1998 15:49:08 -0600 (CST)
Cc: cat at bga.com, claw at under.engr.sgi.com
In-Reply-To: <199804041745.LAA07123 at laurel.actlab.utexas.edu> from "Cynbe ru Taren" at Apr 4, 98 11:45:05 am
> For the most part -- but remember that even if you're not paging
> within the disk/ram portion of the memory hierachy, you're probably
> still paging between ram/cache2 and cache2/cache1: Better locality
> of reference will still improve performance there.
>
> A fundamental win of a disk-based system comes from clustering
> data used together in ram, which improves performance at all
> levels of a hierarchy.
>
> A viable alternative is to do the same thing entirely in ram -- a
> copying garbage collector, for example, can have this effect. Well
> done, on ram-poor systems this can result in entire pages full of
> unused objects paging out to disk, yielding an effectively disk-based
> system without the explicitly coded disk I/O.
It sounds like you're still talking about a system that does a lot of
dynamic allocation of stuff and/or moving things around in RAM. While
that's probably true of most mud servers, it's not the case in mine.
I hadn't really thought much about CPU caching issues, but I'm probably
pretty well off there.
Anyway it seems to me that either a RAM based or a disk based system
could happen to have things arranged well for the CPU cache, or poorly.
If it's important, either of them could be recoded to make things more
optimum. It does seem to me that writing things out to some slow
physical device that has to spin stuff around with a motor, and then
reading them back in again, because this coincidentally arranges them in
a way that the CPU cache likes better... That sounds like a pretty
bizarre way to go about things! I guess if it's a way that programmers
can get results without doing high quality professional level code
optimization, it's useful for some people. If I generated garbage, I'd
rather write the garbage collector in RAM though. Designing my system
to not generate garbage I find even more preferable. :X)
Anyway a commercial system that generates any significant amount of
revenue per users at all ought to be able to afford a decent amount of
RAM per user. So I'm not too worried about it.
*-------------------------------------------**-----------------------------*
Dr. Cat / Dragon's Eye Productions || Free alpha test:
*-------------------------------------------** http://www.bga.com/furcadia
Furcadia - a new graphic mud for PCs! || Let your imagination soar!
*-------------------------------------------**-----------------------------*
--
J C Lawrence Internet: claw at null.net
(Contractor) Internet: coder at ibm.net
---------(*) Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...
--
MUD-Dev: Advancing an unrealised future.
More information about the mud-dev-archive
mailing list