X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=README.md;h=97d02c4657e8cbd3353a28ed001be8cc1d83c633;hb=8db938f1d3ce0af4d1b3786d2b02b925a334867d;hp=48568f285ffe8330307316c31f67de7b8f57b042;hpb=e9e90ddd341b614dfe898aa5440172dd44a673f4;p=btree diff --git a/README.md b/README.md index 48568f2..97d02c4 100644 --- a/README.md +++ b/README.md @@ -5,25 +5,17 @@ A working project for High-concurrency B-tree source code in C There are four major code sets in the standard 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. +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. -threads2i.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield system calls during contention. +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. -threads2j.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls duriing contention. - -The Foster set includes three types of latching: - -Fosterbtreee.c Multi-Threaded/Single Process with latching implemented with pthreads/SRW latches in a latch manager. - -Fosterbtreef.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield 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. +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: -gcc -D STANDALONE threads2h.c -lpthread +gcc -D STANDALONE threads2h.c -lpthread -lrt or