<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] DBs and Events --> <!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> --> <!--X-Date: Thu, 12 Feb 1998 17:45:09 +0000 --> <!--X-Message-Id: 199802121745.LAA02889@dfw-ix4.ix.netcom.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: Pine.LNX.3.91.980210211015.65K-100000@uni-corn.demon.co.uk --> <!--X-Reference: Pine.GSO.3.95q.980211083504.13903A-100000@uhunix1 --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] DBs and Events</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:jlsysinc#ix,netcom.com"> </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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00435.html">Previous</a> | <a href="msg00437.html">Next</a> ] Thread: [ <a href="msg00402.html">Previous</a> | <a href="msg00472.html">Next</a> ] Index: [ <A HREF="author.html#00436">Author</A> | <A HREF="#00436">Date</A> | <A HREF="thread.html#00436">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] DBs and Events</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] DBs and Events</LI> <LI><em>From</em>: "Jon A. Lambert" <<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>></LI> <LI><em>Date</em>: Thu, 12 Feb 1998 12:47:31 -4</LI> <LI><em>Comments</em>: Authenticated sender is <jlsysinc#popd,ix.netcom.com></LI> <LI><em>Reply-to</em>: <A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</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 11 Feb 98 at 11:24, Nathan Yospe wrote: > On Tue, 10 Feb 1998, Greg Munt wrote: > :On Tue, 10 Feb 1998, Nathan Yospe wrote: > > :> On Tue, 10 Feb 1998, Greg Munt wrote: > > :> :Also, any references to caches? > > :> Again, can't help you. I've done caches, but not for my mud... and there > :> is such a broad spectrum of things that qualify as cache. Do you want to > :> know more about cached in-memory storage for a disk-based DB? > > :Yes. See Cold, Cool and Uber(or is that Unter?). > :> Or bottleneck spot caching? > > :What's that? > > An element of assembly coding and RISC compiler design. It might also be > significant for VM construction. It has to do with the repeated register > loading of the same data over and over. Essentially means finding where, > when, and how information can be loaded onto the stack/into registers to > minimize the number of loads (This opposed to operational instructions.) > Nod. Being terminology challenged in the areas of compiler theory and hardware, I lump this in the category of "code optimization" in my VM. It certainly has significance in my VM. While Nathan's point is specific it does touch on a good general principle, even if you are not writing assembly or VMs. Pay some attention to your architecture. For instance, in an RGMA flame-fest not long ago, one poster bemoaned the fact that the old MS-C compiler by default did register alignment on data as opposed to the *nix GCC compiler. I was curious about this and found some rather enlightening things about 8086 architecture. By turning this option on, I got around a 25% boost in speed. Of course nothing comes for free and there are few downsides to this. Executables are quite a bit larger and it makes all that clever (or not so clever) C pointer arithmetic unpredictable. I would recommend these options if you are targetting this architecture and the downsides are irrelevant to you. > :> :Any references to Event Management? Is there any alternative to using a [snip] > :I'm not sure I understand this too well. Are you suggesting this? > > :class Event > : { > : private: > : DataType1 *a; > : DataType2 *b; > : ... > : > : public: > : ... > : process(); > : }; > I guess I'll unzip and show you mine. class Event { Objid owner; // controlling object Object *callee; // object containing method Object *actor; // calling object Message *args; // arguments to call short priority // Event priority Method *m; // method to execute TTime birth_time // timestamp on queue TTime exec_time // scheduled execution time }; class Task { Event *event // executing event long msgid; // unique task ID long wait; // wait time long ticks; // execution time int retry // interval in msecs to retry event int sp; // stack pointer int pc; // program counter Var *stack // stack int st_size // current stack size short priority // thread priority PThread exec_hndl // Handle to execution thread void *localTD // Handle to protected thread data public: (... lots of functions ...) }; I now feel some embarassed at exposing myself; yet strangely unburdened. ;) > class Event{ > SortedList<ObjectReference<BaseObject>, PrioriList<AttributeType, > AttributeValue> > objectList; > TimeValue timeCheck; // for purpose of sanity checks > public: > process(); // set values... for each object in objectList, call > // BaseObject::update(); > }; > > :I still can't see how the event isn't a function. The tasks that the > :event does have to be stored in a function? > Well try to think of all items within an object as just data. Assign no importance as to whether something is a function or not. It is merely a pointer to more data. Pay no attention to the little man behind the curtain. It's not easy for me either, since I mentally tend to differentiate functions from procedures. > Well, yes and no. I operate entirely on the principal of creation, value > modification, full instantiation, partial destantiation, and deletion. I > don't tolerate the sort of procedural functions that most languages use. Grin. Nathan has been fully abstracted. [snip] > > :I'll use this opportunity to keep you updated on my work activities: I > :finally got a job, C++/Unix, using such tools as Rational Rose, etc. I'll > :be maintaining and developing planning and scheduling software for the > :steel industry. Will post a FAQ update soon. > > Congratulations. Rational Rose, eh? I have misery in my company. I mean, > company in my misery. No the first time was right. We use Rose too. Dang > piece of ill concieved code. Powerful, though. But... how can a tool for > object oriented design be so... inconsistant? It seems to have spaghetti > for innards, and the user interface changes from one tool to the next so > radically that the keys for _copy_ and _paste_ are never the same, and I > don't even want to go into the deletion and selection procedures. Bleah! > Hmm. Another Rational Rose user. I like it, but have been burned. Hint: Keep good backups of all iterations of clean source as well as the .mdl's that generated them. -- --/*\ Jon A. Lambert - TychoMUD Internet:jlsysinc#ix,netcom.com /*\-- --/*\ Mud Server Developer's Page <<A HREF="http://www.netcom.com/~jlsysinc">http://www.netcom.com/~jlsysinc</A>> /*\-- --/*\ "Everything that deceives may be said to enchant" - Plato /*\-- </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00472" HREF="msg00472.html">Re: [MUD-Dev] DBs and Events</A></strong> <ul compact><li><em>From:</em> coder#ibm,net</li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00399" HREF="msg00399.html">Re: [MUD-Dev] DBs and Events</A></STRONG> <UL><LI><EM>From:</EM> Greg Munt <greg#uni-corn,demon.co.uk></LI></UL></LI> <LI><STRONG><A NAME="00402" HREF="msg00402.html">Re: [MUD-Dev] DBs and Events</A></STRONG> <UL><LI><EM>From:</EM> Nathan Yospe <yospe#hawaii,edu></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00435.html">user-centered design (was Re: [MUD-Dev] Clients)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00437.html">Re: [MUD-Dev] DBs and Events</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00402.html">Re: [MUD-Dev] DBs and Events</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00472.html">Re: [MUD-Dev] DBs and Events</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00436"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00436"><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] OT: Linux g++</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00444" HREF="msg00444.html">Re: [MUD-Dev] OT: Linux g++</A></strong>, Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Fri 13 Feb 1998, 00:30 GMT <UL> <LI><strong><A NAME="00487" HREF="msg00487.html">Re: [MUD-Dev] OT: Linux g++</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 16 Feb 1998, 11:29 GMT <UL> <LI><strong><A NAME="00526" HREF="msg00526.html">Re: [MUD-Dev] OT: Linux g++</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Wed 18 Feb 1998, 17:02 GMT </LI> </UL> </LI> </UL> </LI> </ul> </ul> <LI><strong><A NAME="00402" HREF="msg00402.html">Re: [MUD-Dev] DBs and Events</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Wed 11 Feb 1998, 19:10 GMT <UL> <LI><strong><A NAME="00436" HREF="msg00436.html">Re: [MUD-Dev] DBs and Events</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 12 Feb 1998, 17:45 GMT <UL> <LI><strong><A NAME="00472" HREF="msg00472.html">Re: [MUD-Dev] DBs and Events</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 16 Feb 1998, 02:47 GMT <UL> <LI><strong><A NAME="00500" HREF="msg00500.html">Re: [MUD-Dev] Version Control (was: DBs and Events)</A></strong>, Vadim Tkachenko <a href="mailto:vadimt#4cs,com">vadimt#4cs,com</a>, Mon 16 Feb 1998, 23:30 GMT <UL> <LI><strong><A NAME="00524" HREF="msg00524.html">Re: [MUD-Dev] Version Control (was: DBs and Events)</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Wed 18 Feb 1998, 10:34 GMT <UL> <LI><strong><A NAME="00536" HREF="msg00536.html">Version Control (was: DBs and Events)</A></strong>, s001gmu <a href="mailto:s001gmu#nova,wright.edu">s001gmu#nova,wright.edu</a>, Fri 20 Feb 1998, 09:55 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> </UL> </LI> </UL> </LI> </ul> </ul> </ul> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>