diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-12-02 14:37:59 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-12-02 14:37:59 -0800 |
commit | 424f350415eccae19f08c2164b3e6ba6943fffb5 (patch) | |
tree | 655a11696dde10ed0cc57bca3a5d395c316d1306 | |
parent | cd3d6d573985cac087bd51f44bd8ad87b9e4e429 (diff) | |
download | ruby-tdb-424f350415eccae19f08c2164b3e6ba6943fffb5.tar.gz |
We're not perfect, so don't raise expectations too high!
-rw-r--r-- | README | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -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 |