From 424f350415eccae19f08c2164b3e6ba6943fffb5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 2 Dec 2010 14:37:59 -0800 Subject: README: add Caveats section We're not perfect, so don't raise expectations too high! --- README | 22 ++++++++++++++++++++-- 1 file 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 -- cgit v1.2.3-24-ge0c7