From af9b44c8810d651355db48bca5fee86f7b4c93e3 Mon Sep 17 00:00:00 2001 From: Jack O'Connor Date: Wed, 8 Jan 2020 23:19:07 -0500 Subject: [PATCH] replace the C code README with a "not yet ready" remark --- c/README.md | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/c/README.md b/c/README.md index 3c98c9b..380c15f 100644 --- a/c/README.md +++ b/c/README.md @@ -1,28 +1,7 @@ -# BLAKE3-c [![Actions Status](https://github.com/veorq/BLAKE3-c/workflows/tests/badge.svg)](https://github.com/veorq/BLAKE3-c/actions) +This is the C implementation of BLAKE3. It's tested, and parts of it are +linked into the Rust implementation for AVX-512 and NEON support. +However, it doesn't yet have a friendly public interface. -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 - -``` +This implementation is simpler than the Rust implementation. It doesn't +support multithreading, and it doesn't parallelize parent hashes, so +throughput is lower.