X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=README.md;h=4a81c1ae04abdd60f2e2ed94bb8957196335be74;hb=3f5d6ea226a37eab34f5da0c9561540d2451b56a;hp=b1206be147916fcfc467d7327bec2c2574955758;hpb=ad4293797c22ac1ef9b1ea2116c06502bb1cfcfe;p=btree diff --git a/README.md b/README.md index b1206be..4a81c1a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Btree-source-code A working project for High-concurrency B-tree source code in C -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. @@ -19,6 +19,12 @@ threads2i.c Multi-Threaded/Multi-Process with latching implemented by a latc 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. +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. + Compilation is achieved on linux or Windows by: gcc -D STANDALONE threads2h.c -lpthread