Topic: STL as a database? (really Texas (free) persistent store)


Author: wilson@cs.utexas.edu (Paul Wilson)
Date: 1995/06/16
Raw View
In article <3rm61t$hqo@idefix.eunet.fi>,
Mika Holkeri <mika.holkeri@pragma.pp.fi> wrote:
>wilson@cs.utexas.edu (Paul Wilson) wrote:
>
>If the Texas is ported to Windows NT or 95, can this pointer swizzling
>implemented entirely in application program or do it need some kind of
>device driver?

Texas is basically just a library, at least at run time.  You link it
with your program, and it fiddles with user-level page protections and
signal handlers.  The only special thing it needs from the OS is the
ability to set page protections and to set the signal handler for
the page protections.  (It may also be handy if you have the equivalent
of mmap(), but that's not absolutely required.)

A Texas program runs on top of the normal virtual memory system, and
lets the virtual memory system do its caching in the normal way.  It
doesn't "wire down" a big chunk of ram for its buffers, as many OODB's
do;  Texas programs compete for RAM on the same footing and in the same
way as other programs, so you don't end up thrashing some other program
when your Texas program doesn't actually need the space.

--
Paul R. Wilson, Comp. Sci. Dept., U of Texas @ Austin (wilson@cs.utexas.edu)
Recent papers on garbage collection, memory hierarchies, persistence and
Scheme interpreters and compilers available via ftp from ftp.cs.utexas.edu
(128.83.120.44), in pub/garbage or http://www.cs.utexas.edu/users/oops/)





Author: wilson@cs.utexas.edu (Paul Wilson)
Date: 1995/06/13
Raw View
In article <3rkgvj$35r@idefix.eunet.fi>,
Mika Holkeri <mika.holkeri@pragma.pp.fi> wrote:
>wilson@cs.utexas.edu (Paul Wilson) wrote:
>>You might want to just use the Texas Persistent store, a free (GPL)
>>and fairly portable persistent store.  (Runs under Linux, SunOS, Solaris,
>>Mach, and soon to be released for OS/2.  Should be easy to port to
>>NT, Windows95, or Copland.)  Have a look at the ftp site mentioned in
>>my .sig, below.
>
>Looks like ideal for light standalone applications. Do the Texas use
>any run-time components and what is size of those components?
>How much executable program will grow, when the Texas is linked
>statically?

It depends on the platform, but Texas adds very roughly 100KB to your
startup footprint.  It's small.

As for "light" applications, Texas is not featureful, but it is
high performance and gives a nice programming model.  Lean, but
not necessarily "light."


--
Paul R. Wilson, Comp. Sci. Dept., U of Texas @ Austin (wilson@cs.utexas.edu)
Recent papers on garbage collection, memory hierarchies, persistence and
Scheme interpreters and compilers available via ftp from ftp.cs.utexas.edu
(128.83.120.44), in pub/garbage or http://www.cs.utexas.edu/users/oops/)





Author: mika.holkeri@pragma.pp.fi (Mika Holkeri)
Date: 1995/06/14
Raw View
wilson@cs.utexas.edu (Paul Wilson) wrote:

>Texas uses pointer swizzling at page fault time, so you don't have to
>map your data into the same place in the address space every time.
>Persistence is orthogonal to type, so you don't have to have a tacky
>class hierarchy with a "persistent" class that you have to inhierit
>from to get persistence.

>Texas provides checkpointing.  It swizzles virtual function
>table pointers specially, so that you can save objects with
>virtual functions and they work when you reload them (by transparent
>page faulting) later.

If the Texas is ported to Windows NT or 95, can this pointer swizzling
implemented entirely in application program or do it need some kind of
device driver?


Mika Holkeri
Pragmasoft Oy