diff options
| author | Jack O'Connor <[email protected]> | 2020-01-08 22:51:17 -0500 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2020-01-09 09:48:52 -0500 |
| commit | a7579d30ad16c19306cedeeacd919e319aff1089 (patch) | |
| tree | 572423d117912988ccbd58bbbab305ec8bd09ce0 /c/README.md | |
| parent | 56ced5b422f0289e5a26aedf2a7bc452ace66f1f (diff) | |
merge BLAKE3-c into this repo
This is commit 4476d9da0e370993823e7ad17592b84e905afd76 of
https://github.com/veorq/BLAKE3-c.
Diffstat (limited to 'c/README.md')
| -rw-r--r-- | c/README.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/c/README.md b/c/README.md new file mode 100644 index 0000000..3c98c9b --- /dev/null +++ b/c/README.md @@ -0,0 +1,28 @@ +# BLAKE3-c [](https://github.com/veorq/BLAKE3-c/actions) + +A very rough initial implementation of BLAKE3 in C. SSE4.1, AVX2, +AVX-512, and NEON are supported, using compile-time feature selection in +the Makefile. + +This implementation is simpler than the [Rust +implementation](https://github.com/veorq/BLAKE3). It doesn't support +multithreading, and it doesn't parallelize parent hashes, so throughput +is lower. + +TODO: +- CI testing for AVX-512 and NEON. +- Cross-platform build, e.g. Windows. +- Dynamic CPU feature detection, at least for x86. + +Example usage: + +```bash +$ make avx2 +$ head -c 1000000 /dev/urandom | ./blake3 +43f2cae3cfd7678bc3a3ebdbf170608d19d5ebaad23e9d06291dba3269853608 +$ head -c 1000000 /dev/urandom | ./blake3 --length 50 +4fc0ee74a60aa77fb699821997498fd93f1a98bd03eaf2a7969c4b35fb742c233a7a161fd2a431605f6e92dcf4cd7d052102 +$ head -c 1000000 /dev/urandom | ./blake3 --keyed 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef +8aee87b232fe90b042bf9119591e24409763a268139ff157d20021003e314064 + +``` |
