changeset 500:f7ca125617ca

Update README with new features
author Lewin Bormann <lbo@spheniscida.de>
date Tue, 03 Dec 2019 09:43:48 +0100
parents ea6c566ce600
children d202298abc3b
files README.md
diffstat 1 files changed, 4 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/README.md	Wed Oct 09 09:13:01 2019 +0200
+++ b/README.md	Tue Dec 03 09:43:48 2019 +0100
@@ -19,13 +19,9 @@
 * Fully synchronous: Efficiency gains by using non-atomic types, but writes may
   occasionally block during a compaction. In --release mode, an average compaction
   takes 0.2-0.5 seconds.
-* Compatibility with the original: Compression is not implemented so far; this works
-  as long as compression is disabled in the original.
-* Performance is decent; while usually not par with the original, due to multi-threading
-  in the original and language-inherent overhead (we are doing things the right way),
-  it will be enough for most use cases.
-* Safe: While using many shared pointers, the implementation is generally safe. Many
-  places use asserts though, so you may see a crash -- in which case you should file a bug.
+* Compatible with the original implementation. If it isn't (crash/read error/write error), it's a bug and needs to be fixed.
+* Performance is decent; while not quite up to par with the original (we don't use multithreading, for example) it is very much usable.
+* Safe: Many places use asserts though, so you may rarely see a crash -- in which case you should file a bug.
 
 ## Goals
 
@@ -33,7 +29,7 @@
 
 * As few copies of data as possible; most of the time, slices of bytes (`&[u8]`)
   are used. Owned memory is represented as `Vec<u8>` (and then possibly borrowed
-  as slice).
+  as slice). Zero-copy is not always possible, though, and sometimes simplicity is favored.
 * Correctness -- self-checking implementation, good test coverage, etc. Just
   like the original implementation.
 * Clarity; commented code, clear structure (hopefully doing a better job than