]> pd.if.org Git - btree/blobdiff - README.md
Fix bugs found by David Groves
[btree] / README.md
index 48568f285ffe8330307316c31f67de7b8f57b042..aab487ef589a5d19fabc0afbb9c3f157ef663977 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,23 +3,23 @@ Btree-source-code
 
 A working project for High-concurrency B-tree source code in C
 
-There are four major code sets in the standard btree source code:
+There are seven files in the btree source code:
 
-btree2q.c       Single Threaded/MultiProcess with latching supplied by advisory file locking.  Works with network file systems.
+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.
 
-threads2h.c     Multi-Threaded/Multi-Process with latching implemented with pthreads/SRW latches in a latch manager.
+btree2t.c       Single Threaded/MultiProcess version similar to btree2s except that fcntl locking has been replaced by test & set latches in the first few btree pages.  Uses either memory mapping or file I/O.
 
-threads2i.c     Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield  system calls during contention.
+btree2u.c              Single Threaded/MultiProcess version that implements a traditional buffer pool manager in the first n pages of the btree file.  The buffer pool accesses its pages with mmap.  Evicted pages are written back to the btree file from the buffer pool pages with pwrite. Recommended for linux.
 
-threads2j.c     Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls duriing contention.
+btree2v.c              Single Threaded/MultiProcess version based on btree2u that utilizes linux only futex calls for latch contention.
 
-The Foster set includes three types of latching:
+threads2h.c     Multi-Threaded/Multi-Process with latching implemented by a latch manager with pthreads/SRW latches in the first few btree pages. Recommended for Windows.
 
-Fosterbtreee.c  Multi-Threaded/Single Process with latching implemented with pthreads/SRW latches in a latch manager.
+threads2i.c     Multi-Threaded/Multi-Process with latching implemented by a latch manager with test & set latches in the first few btree pages with thread yield system calls during contention.
 
-Fosterbtreef.c  Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield  system calls during contention.
+threads2j.c     Multi-Threaded/Multi-Process with latching implemented by a latch manager with test & set locks in the first few btree pages with Linux futex system calls during contention.
 
-Fosterbtreeg.c  Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls duriing contention.
+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.
 
 Compilation is achieved on linux or Windows by:
 
@@ -29,4 +29,4 @@ or
 
 cl /Ox /D STANDALONE threads2h.c
 
-Please see the project wiki page for documentation
+Please see the project wiki page for additional documentation