diff options
| author | Jack O'Connor <[email protected]> | 2021-02-05 17:25:45 -0500 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2021-02-05 17:25:45 -0500 |
| commit | aea29ace2d4aa4943345155b333b264f625459c0 (patch) | |
| tree | 8623b29673fc0fbfb61a769f5da782a727314198 | |
| parent | 0c26ed52a8be3b11e0cc7d8c43ffee237ae38583 (diff) | |
replace the 'Differences' section with 'Multithreading'
| -rw-r--r-- | c/README.md | 19 |
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. |
