X-Git-Url: https://pd.if.org/git/?p=btree;a=blobdiff_plain;f=README.md;h=0233fbd7d896b110669ea5fbd951cceb6567d2ef;hp=4a81c1ae04abdd60f2e2ed94bb8957196335be74;hb=HEAD;hpb=d7c3af351b1839f3722af5f86a355bb76d3dd6b0 diff --git a/README.md b/README.md index 4a81c1a..0233fbd 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ 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. Here are files in the btree source code: @@ -25,9 +25,21 @@ threadskv2.c Multi-Threaded/Multi-Process based on threadskv1 that replaces the 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