mirror of
https://github.com/BLAKE3-team/BLAKE3
synced 2024-05-05 03:36:12 +02:00
replace the C code README with a "not yet ready" remark
This commit is contained in:
parent
88dcee7005
commit
af9b44c881
33
c/README.md
33
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.
|
||||
|
|
Loading…
Reference in New Issue