Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Version 0.1.17: add some list functions and replace persistent lists by persistent btrees for non-unique slot indexes.
Version 0.1.16: improved performance by decreasing persistent consing for btrees and using a lazy-cache. Fixed some small bugs. Added a few handy functions and macros. In detail: Added P-PUSH and P-POP. Improved btree efficiency by switching to a different data structure for the bindings. Instead of using a persistent cons for each key/ value pair, we now put the keys and values directly into the bnode vector. This speeds up most btree operations because it reduces persistent consing when adding new values and it reduces indirections when searching for keys. Renamed BTREE-NODE to BNODE, BTREE-NODE-INDEX to BNODE-BINDINGS, BTREE-NODE-INDEX-COUNT to BNODE-NR-BINDINGS, FIND-BINDING-IN-NODE to FIND-KEY-IN-NODE. Fix a missing argument bug in REMOVE-CLASS-INDEX. Added a LAZY-CACHE which just clears the entire hash table whenever the cache gets full. This improves memory usage, because the normal cache queue kept track of a lot of objects that for some reason couldn't be cleaned up by the implementation's garbage collector. Added the convenience macros RUCKSACK-DO-CLASS and RUCKSACK-DO-SLOT. Made RUCKSACK-DELETE-OBJECT an exported symbol of the RUCKSACK package. Fix a bug in TEST-NON-UNIQUE-BTREE: it should call CHECK-NON-UNIQUE-CONTENTS instead of CHECK-CONTENTS.
Version 0.1.13: Add Brad Beveridge's basic unit test suite (modified to work with lisp-unit instead of 5am). Add Chris Riesbeck's lisp-unit library to help with creating unit test suites.
Version 0.1.5: removed ^M line terminators from all source files (thanks to Attila Lendvai).
- FINALIZE-INHERITANCE: compute slot diffs for obsolete schemas. - More work on UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS.
Partial implementation of UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS and friends.
The class and slot indexes were normal hash tables, but they should be persistent objects like everything else: I replaced them by btrees. Get PROCESS-LOCK and PROCESS-UNLOCK working on SBCL (thanks to Geoff Cant).
Save and load the index tables when closing/opening a rucksack. Add/remove indexes to/from the roots when necessary. Implement the :UNIQUE slot option. Improve predefined index specs.
Do a FINISH-OUTPUT at the end of a transaction commit (suggested by Marco Baringer). Add :KEY-KEY and :VALUE-KEY initargs to btrees. Add some standard slot indexes. Add :UNIQUE initarg for persistent slots (not finished yet).
Fix bugs in BTREE-DELETE and SPLIT-BTREE-NODE. Rename BTREE-DELETE to BTREE-DELETE-KEY and implement BTREE-DELETE for btrees with non-unique keys. Add stress test for btrees. Implement the :MIN, :MAX, :INCLUDE-MIN, :INCLUDE-MAX and :ORDER arguments for BTREE-MAP. Add some more CL mirror functions like P-MAPCAR, P-MAPC, P-DELETE-IF, etcetera.
Clean up btree code. Add BTREE-DELETE. (From Edi Weitz.)
Merged patches for OpenMCL from Marco Baringer.
Some trivial CVS header changes.
Created Rucksack CVS repository on common-lisp.net.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|