1999Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] about MOO -->
<!--X-From-R13: X Q Znjerapr <pynjNpc.arg> -->
<!--X-Date: Wed, 24 Nov 1999 11:26:11 &#45;0800 -->
<!--X-Message-Id: E11qi3M&#45;0006JI&#45;00@under.eng.cp.net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 19991121211255.48676.qmail@phantasm.thekeep.org -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] about MOO</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw@cp.net">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00480.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00482.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00435.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00520.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00481">Author</A>
&nbsp;|&nbsp;<A HREF="#00481">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00481">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] about MOO</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] about MOO </LI>
<LI><em>From</em>: J C Lawrence &lt;<A HREF="mailto:claw#cp,net">claw#cp,net</A>&gt;</LI>
<LI><em>Date</em>: Wed, 24 Nov 1999 11:26:08 -0800</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Sun, 21 Nov 1999 16:12:55 -0500 
Dan Root &lt;dar#thekeep,org&gt; wrote:

&gt; In message &lt;<A HREF="msg00428.html">199911201824.KAA31012#portland,puremagic.com</A>&gt;,
&gt; bruce#puremagic,com writes:

&gt; CoolMUD's database does this, and seems to do a pretty decent job.
&gt; That said, more than something like a mail index, the place you'll
&gt; lose most heavily is on MOO's inheritence.  Most game cores
&gt; (Lambda and JHM both suffer from this) have a fairly deep and
&gt; sometimes rather broad object inheritance trees.  It's possible to
&gt; have a siginificant portion of your cache filled with nothing but
&gt; items that are inherited in your active objects.

I'll note silently that one of the casues of this problem is that
LambdaMOO requires a single rooted inheritance tree.  If you relax
the inheritance constraints to support multiple roots you start
approaching the point of having an inheritance mesh, which while it
can be a devil to compute and manipulate at runtime, can (not
guaranteed) also work aggressively to lower your working set sizes.

&gt; OTOH, it's certainly possible to cache quite a bit and still see a
&gt; significant reduction in active memory usage.  LambdaMOO was using
&gt; upwards of 256 megs of memory at one point, and I'm sure that
&gt; number isn't going down.  If even 1/10th of your objects were
&gt; simultaneously active, and that many more needed for the
&gt; inheritence of the active objects, that's still reducing your
&gt; active memory image by nearly 4/5ths.

Its the old trade-off:

  Do you render secondary copies of all parent object code in child
objects (so that calls to inherited methods are resolved locally)
resulting is huge space wasting objects that pack out your working
set most of whose data content you never touch?

  Or, do you build your inheritance tree at runtime and spend your
time on object lookups and method resolutions only have those
objects in your working set that you actually touch?

Its not an obvious call.

&gt; And that doesn't even begin to deal with things like storing and
&gt; caching things at a per-attribute rather than per-object level,
&gt; which may or may not increase performance.

I went there.  Lookup overheads can be extreme.

&gt; Heck, UberMUD would still be a decent system with the addition of
&gt; a nice core DB.

Exactly!  Well, modulo that bloody permissions system.

-- 
J C Lawrence                              Internet: claw#kanga,nu
----------(*)                            Internet: coder#kanga,nu
...Honorary Member of Clan McFud -- Teamer's Avenging Monolith...


_______________________________________________
MUD-Dev maillist  -  MUD-Dev#kanga,nu
<A  HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00435" HREF="msg00435.html">Re: [MUD-Dev] about MOO</A></STRONG>
<UL><LI><EM>From:</EM> Dan Root &lt;dar@thekeep.org&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00480.html">Re: [MUD-Dev] Depth of realism</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00482.html">Re: Re[2]: [MUD-Dev] (no subject)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00435.html">Re: [MUD-Dev] about MOO</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00520.html">Re: [MUD-Dev] about MOO</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00481"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00481"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: [MUD-Dev] about MOO</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00414" HREF="msg00414.html">Re: [MUD-Dev] about MOO</A></strong>, 
Joey Hess <a href="mailto:joey@kitenet.net">joey@kitenet.net</a>, Sat 20 Nov 1999, 00:39 GMT
<UL>
<LI><strong><A NAME="00420" HREF="msg00420.html">Re: [MUD-Dev] about MOO</A></strong>, 
Dan Root <a href="mailto:dar@thekeep.org">dar@thekeep.org</a>, Sat 20 Nov 1999, 01:43 GMT
<UL>
<LI><strong><A NAME="00428" HREF="msg00428.html">Re: [MUD-Dev] about MOO</A></strong>, 
bruce <a href="mailto:bruce@puremagic.com">bruce@puremagic.com</a>, Sun 21 Nov 1999, 01:14 GMT
<UL>
<LI><strong><A NAME="00435" HREF="msg00435.html">Re: [MUD-Dev] about MOO</A></strong>, 
Dan Root <a href="mailto:dar@thekeep.org">dar@thekeep.org</a>, Sun 21 Nov 1999, 22:18 GMT
<UL>
<LI><strong><A NAME="00481" HREF="msg00481.html">Re: [MUD-Dev] about MOO</A></strong>, 
J C Lawrence <a href="mailto:claw@cp.net">claw@cp.net</a>, Wed 24 Nov 1999, 19:26 GMT
</LI>
<LI><strong><A NAME="00520" HREF="msg00520.html">Re: [MUD-Dev] about MOO</A></strong>, 
Jay Carlson <a href="mailto:nop@mitre.org">nop@mitre.org</a>, Wed 01 Dec 1999, 02:16 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00478" HREF="msg00478.html">Re: [MUD-Dev] about MOO</A></strong>, 
J C Lawrence <a href="mailto:claw@cp.net">claw@cp.net</a>, Wed 24 Nov 1999, 18:51 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00426" HREF="msg00426.html">[MUD-Dev] Re: about MOO</A></strong>, 
Gevan <a href="mailto:shanos@es.co.nz">shanos@es.co.nz</a>, Sun 21 Nov 1999, 01:14 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00422" HREF="msg00422.html">Re: [MUD-Dev] about MOO</A></strong>, 
maddog <a href="mailto:maddog@best.com">maddog@best.com</a>, Sat 20 Nov 1999, 02:39 GMT
</LI>
</UL>
</LI>
</ul>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>