[Date Prev][Date Next][Subject Prev][Subject Next][Date Index][Subject Index]
Re: Questi9ons of the use of U2/WWWEB material
- Subject: Re: Questi9ons of the use of U2/WWWEB material
- From: Robert Holmgren holmgren@xxxxxxx
- Date: Mon, 15 Feb 1999 03:22:44 EST
** Reply to note from xywrite@xxxxxxxxxxxxxxxxxx Tue, 09 Feb 1999 12:37:48 -0600
> Also, since there is no actual code in the KBD
> file, the only space is thw RUN command, is there
> any difference (in memory or execution) etween
> having the code as a separate stand-alone file or
> integrated into a U2 file except, obviously the
> difference in what is in the KBD file (a RUN
> command vs. a JUMP command.
There is plenty of "actual code" in the KBD file: namely, the instructions
attached to each key in each TABLE. RUN programs do release all the memory they
consume when they terminate. In this sense, they are far more conservative than,
say, LDPM programs (attached, in permanent memory, in their entirety, to keys).
But a Help library (which is what U2 is) has many big advantages over RUN programs.
You don't have hundreds of little programs all over your disk; you have one file,
and you can keep adding new routines to it as you invent them. The programs can
"talk" to each other, that is, they can break down into smaller atomic subroutines
that perform specific tasks, and "parent" programs can call them (use them),
instead of having to duplicate the same task over and over. Since they are all
collected together, you don't have 27 windows open when you're working on them --
just one window. You can transport them between machines easily -- again, it's
just one file. In XYWWWEB.U2, you can store all the user variables for one machine
in a concise manner, move the basic library to another machine, and overlay the
variables that operate on that machine onto the same library easily --
for example, routines that apply to drive D: on one machine might apply to drive
H: on another -- no problem!
You have a misconception about how U2 works. You do not JMP anywhere. You simply
issue a routine name (e.g. in your KBD file, and this is a very short instruction,
usually much shorter than a comparable RUN instruction coded in the KBD file, so it
saves memory there too), and then XyWrite consults the Index that it has written at
the end of U2, and goes directly to an Indexed byte location within the raw file.
If the file is already part of the operating system's memory cache, launch is
nearly instantaneous. Even if U2 isn't cached, it is bloody fast -- just as fast
as loading a program in an individual disk file and RUNning it. U2 has virtually
no drawbacks, and soooo many advantages.