aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack O'Connor <[email protected]>2021-02-05 17:25:45 -0500
committerJack O'Connor <[email protected]>2021-02-05 17:25:45 -0500
commitaea29ace2d4aa4943345155b333b264f625459c0 (patch)
tree8623b29673fc0fbfb61a769f5da782a727314198
parent0c26ed52a8be3b11e0cc7d8c43ffee237ae38583 (diff)
replace the 'Differences' section with 'Multithreading'
-rw-r--r--c/README.md19
1 files changed, 10 insertions, 9 deletions
diff --git a/c/README.md b/c/README.md
index 5e8b4e6..d4d4b7c 100644
--- a/c/README.md
+++ b/c/README.md
@@ -259,12 +259,13 @@ example:
gcc -shared -O3 -o libblake3.so blake3.c blake3_dispatch.c blake3_portable.c
```
-# Differences from the Rust Implementation
-
-The single-threaded Rust and C implementations use the same algorithms,
-and their performance is the same if you use the assembly
-implementations or if you compile the intrinsics-based implementations
-with Clang. (Both Clang and rustc are LLVM-based.)
-
-The C implementation doesn't currently include any multithreading
-optimizations. OpenMP support or similar might be added in the future.
+# Multithreading
+
+Unlike the Rust implementation, the C implementation doesn't currently support
+multithreading. A future version of this library could add support by taking an
+optional dependency on OpenMP or similar. Alternatively, we could expose a
+lower-level API to allow callers to implement concurrency themselves. The
+former would be more convenient and less error-prone, but the latter would give
+callers the maximum possible amount of control. The best choice here depends on
+the specific use case, so if you have a use case for multithreaded hashing in
+C, please file a GitHub issue and let us know.