Update of /project/elephant/cvsroot/elephant In directory common-lisp.net:/tmp/cvs-serv5302
Modified Files: TUTORIAL TODO NEWS INSTALL ChangeLog Log Message: update of docs (for openmcl, revisions)
Date: Thu Sep 2 17:11:59 2004 Author: blee
Index: elephant/TUTORIAL diff -u elephant/TUTORIAL:1.5 elephant/TUTORIAL:1.6 --- elephant/TUTORIAL:1.5 Thu Sep 2 16:39:12 2004 +++ elephant/TUTORIAL Thu Sep 2 17:11:58 2004 @@ -138,10 +138,7 @@ (get-from-root "my other key")) => NIL
-As a consequence, btrees have a sort of mishmash eql / -equalp hashing. - -2) Changing substructures are not automatically saved: +2) Changing substructures is not automatically saved:
* (setf (car foo) T) => T @@ -156,7 +153,7 @@ maintain, deserialization must re-cons the entire object every time. Plus, one of the reasons to use a database is if your objects can't fit into main memory all at - once! + once, so lazy allocation is desirable.
4) Merge-conflicts in heavily multi-process/threaded situations. More on this later. @@ -244,11 +241,15 @@ persistent, it cannot later be changed to a transient slot.
Note that the database is read every time you access a slot. -In particular, if your slot value is not an immediate value, -this will cons the value. Gets are not an expensive -operation (I can do a million reads in 30 seconds), but if -you're concerned, cache values. (In the future we will -provide automatic value caching.) +This is a feature, not a bug, especially in concurrent +situations: you want the most recent commits, right? +(Sleepycat will give isolation inside of transactions, +though.) In particular, if your slot value is not an +immediate value, reading will cons the value. Gets are not +an expensive operation (I can do a million reads in 30 +seconds), but if you're concerned, cache values. In the +future we will provide automatic value caching -- "single +user mode."
Finally, if you for some reason make an instance with a specified OID which already exists in the database, initargs @@ -392,7 +393,8 @@
The serializer is definitely fast on fixnums, strings, and persistent things. It is fairly fast but consing with -floats and doubles. YMMV with other values. +floats and doubles. YMMV with other values, though I've +tried to make them fast.
Using *auto-commit* and not "with-transactions" is a great way to have a huge number of transactions. You'll find that @@ -411,3 +413,6 @@ transactions correctly they should be much faster.
If you don't need transactions you can turn them off. +Opening the DB in less concurrent / transctional modes will +be supported very soon (it's just an argument change, I +think.)
Index: elephant/TODO diff -u elephant/TODO:1.2 elephant/TODO:1.3 --- elephant/TODO:1.2 Thu Sep 2 09:05:36 2004 +++ elephant/TODO Thu Sep 2 17:11:58 2004 @@ -22,6 +22,4 @@
lispy pointer arithmetic
-OpenMCL! - performance hacks: class / slot to ID
Index: elephant/NEWS diff -u elephant/NEWS:1.3 elephant/NEWS:1.4 --- elephant/NEWS:1.3 Tue Aug 31 01:53:32 2004 +++ elephant/NEWS Thu Sep 2 17:11:58 2004 @@ -1,4 +1,12 @@
+September 2, 2004 - + +The bad news: there was a bug in 0.1 which made OID +generation inside of manual transactions deadlock. + +The good news: this is fixed, and I've added OpenMCL +support. So I'm releasing 0.1-p1. + August 30, 2004 -
Elephant 0.1 was released August 30th, 2004. This is an
Index: elephant/INSTALL diff -u elephant/INSTALL:1.6 elephant/INSTALL:1.7 --- elephant/INSTALL:1.6 Thu Sep 2 09:01:37 2004 +++ elephant/INSTALL Thu Sep 2 17:11:58 2004 @@ -3,9 +3,9 @@ Requirements ------------
-CMUCL 19a, SBCL 0.8.13, or Allegro CL 6.2. I've tested -under FreeBSD and Linux. OpenMCL and Lispworks versions -will come soon. +CMUCL 19a, SBCL 0.8.13, OpemMCL 0.14.2, or Allegro CL 6.2. +I've tested under FreeBSD, Linux and OpenMCL / Darwin. A +Lispworks version will come if requested.
ASDF - http://www.cliki.net/asdf
Index: elephant/ChangeLog diff -u elephant/ChangeLog:1.1 elephant/ChangeLog:1.2 --- elephant/ChangeLog:1.1 Tue Aug 31 00:05:41 2004 +++ elephant/ChangeLog Thu Sep 2 17:11:58 2004 @@ -1,2 +1,4 @@
+9/02/2004 - Alpha 0.1-p1: OID counter bugfix, OpenMCL support. + 8/30/2004 - Alpha 0.1.