about summary refs log tree commit homepage
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README22
1 files changed, 20 insertions, 2 deletions
diff --git a/README b/README
index b729ac6..5a5a4d3 100644
--- a/README
+++ b/README
@@ -8,13 +8,31 @@ write to the same databases used by Samba!
 == Features
 
 * Concurrent reader and writer processes may safely operate on the
-  same file.
+  same file.  This is great for MRI 1.8 and 1.9 where multi-core
+  performance is easiest to achieve processes and not threads.
 
-* Releases the GVL for slow disk operations under Ruby 1.9
+* Fork-safe, you may fork and share the same TDB object in your parent
+  and child processes.
+
+* Releases the GVL for slow disk operations under Ruby 1.9 so
+  other threads can run (but not other TDB operations on the same file)
 
 * Includes several {hash functions}[link:Hash_Functions.html]
   not included by upstream TDB.
 
+== Caveats
+
+These caveats will be addressed upstream in
+{TDB2}[http://mid.gmane.org/201008021002.47351.rusty@rustcorp.com.au]
+
+* NOT native thread-safe, you MUST protect your TDB object with a Mutex
+  if you run it with threads under Ruby 1.9 (but not 1.8).
+
+* Database size is limited to 4G, even on 64-bit systems.
+
+* TDB should be created with an appropriate :hash_size for large databases
+  or performance will suffer.
+
 == Install
 
 The original tdb library from the {main site}[http://tdb.samba.org/] is