]> pd.if.org Git - btree/blob - README.md
Make bt_splitpage more conservative wrt posting fence keys
[btree] / README.md
1 Btree-source-code
2 =================
3
4 A working project for High-concurrency B-tree source code in C
5
6 There are four major code sets in the standard btree source code:
7
8 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.
9
10 threads2h.c     Multi-Threaded/Multi-Process with latching implemented by a latch manager with pthreads/SRW latches in the first few btree pages.
11
12 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.
13
14 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.
15
16 The Foster code set includes the same three types of latching:
17
18 Fosterbtreee.c  Multi-Threaded/Single Process with latching implemented by a latch manager with pthreads/SRW latches in the first few btree pages.
19
20 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.
21
22 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.
23
24 Compilation is achieved on linux or Windows by:
25
26 gcc -D STANDALONE threads2h.c -lpthread
27
28 or
29
30 cl /Ox /D STANDALONE threads2h.c
31
32 Please see the project wiki page for documentation