Skip to content
kjhermans edited this page Jun 26, 2015 · 5 revisions

Welcome to the tree wiki!

This repository is part of a broader library of implementations of database structures on potentially limited resources, including (b)tree, hashtable, queue, skiplist, etc. All libraries have unified types, similar calling conventions, flags and error codes.

This repository implements a simple binary tree, that self-balances and defragments as you go along and should therefore have insertion-, deletion- and search-times of 2log(n) on your dataset. Callbacks can be provided to the API that may implement your own storage-, locking- and comparison-functions. Partial comparison is provided, as are cursors, giving you functionality comparable to Sleepycat-1.85.

Emphasis within this library are on:

  • Openness. Sleepycat isn't open anymore, and its direction is uncertain.
  • Modularity. You don't get all functionality in one place. You have to know what you're doing.
  • Safety. You should be able to recover from crashes easily, recovering most of your data.
  • Smallness. A dbm resource should never have to take more space than it needs.
Clone this wiki locally