]> pd.if.org Git - btree/blobdiff - README.md
Introduce new btree2u with traditional buffer pool manager.
[btree] / README.md
index eff833d2f99b4deb9a551851ca971996b3b3340a..d24a063ed99e0431073545feb012d99df9893434 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,23 +3,19 @@ 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 six 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.
+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 by a latch manager with pthreads/SRW latches in the first few btree pages.
+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 by a latch manager with test & set latches  in the first few 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.
 
-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.
+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.
 
-The Foster code set includes the same three types of latching:
+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.
 
-Fosterbtreee.c  Multi-Threaded/Single Process with latching implemented by a latch manager with pthreads/SRW latches in the first few btree pages.
-
-Fosterbtreef.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.
-
-Fosterbtreeg.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.
+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. Recommended for linux.
 
 Compilation is achieved on linux or Windows by:
 
@@ -29,4 +25,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