]> pd.if.org Git - btree/blobdiff - README.md
Fix small bug in main when there is less t han one input file
[btree] / README.md
index aab487ef589a5d19fabc0afbb9c3f157ef663977..0233fbd7d896b110669ea5fbd951cceb6567d2ef 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
 Btree-source-code
 =================
 
-A working project for High-concurrency B-tree source code in C
+A working project for High-concurrency B-tree source code in C.  You probably want to download threadskv10h.c for the latest developement version.
 
-There are seven files in the btree source code:
+Here are files in the btree source code:
 
 btree2s.c       Single Threaded/MultiProcess version that removes keys all the way back to an original empty btree, placing removed nodes on a free list.  Operates under either memory mapping or file I/O.  Recommended btrees hosted on network file systems.
 
@@ -21,9 +21,25 @@ threads2j.c     Multi-Threaded/Multi-Process with latching implemented by a latc
 
 threadskv1.c   Multi-Threaded/Multi-Process based on threads2i.c that generalizes key/value storage in the btree pages. The page slots are reduced to 16 or 32 bits, and the value byte storage occurs along with the key storage.
 
+threadskv2.c   Multi-Threaded/Multi-Process based on threadskv1 that replaces the linear sorted key array with a red/black tree.
+
+threadskv3.c   Multi-Threaded/Multi-Process based on threadskv1 that introduces librarian filler slots in the linear key array to minimize data movement when a new key is inserted into the middle of the array.
+
+threadskv4b.c  Multi-Threaded/Multi-Process based on threadskv3 that manages duplicate keys added to the btree.
+
+threadskv5.c   Multi-Threaded/Multi-Process based on threadskv4b that supports bi-directional cursors through the btree. Also supports raw disk partitions for btrees.
+
+threadskv6.c   Multi-Threaded/Single-Process with traditional buffer pool manager using the swap device.  Based on threadskv5 and btree2u.
+
+threadskv7.c   Multi-Threaded/Single-Process with atomic add of a set of keys under eventual consistency.  Adds an individual key lock manager.
+
+threadskv8.c   Multi-Threaded/Single-Process with atomic-consistent add of a set of keys based on threadskv6.c.  Uses btree page latches as locking granularity.
+
+threadskv10h.c Multi-Threaded/Multi-Process with 2 Log-Structured-Merge (LSM) btrees based on threadskv8.c. Also adds dual leaf/interior node page sizes for each btree. Note that this file is linux only.
+
 Compilation is achieved on linux or Windows by:
 
-gcc -D STANDALONE threads2h.c -lpthread
+gcc -D STANDALONE -O3 threadskv10g.c -lpthread
 
 or