1
0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-11-10 05:01:43 +01:00
Commit Graph

60 Commits

Author SHA1 Message Date
Jack O'Connor
fe9b8fedd7 fix benchmarks build 2019-12-12 23:31:02 -05:00
Jack O'Connor
b5f1e925f7 rename "offset" to "counter" and always increment it by 1
This is simpler than sometimes incrementing by CHUNK_LEN and other times
incrementing by BLOCK_LEN.
2019-12-12 21:41:30 -05:00
Jack O'Connor
a5cc3b2867 reduce the CHUNK_LEN from 2048 bytes to 1024 bytes
Smaller chunk sizes are a big benefit for parallelism at shorter input
lengths, and recent benchmarks show that this reduction has a relative
small cost in terms of peak throughput. It's also a nice round number.
2019-12-12 20:39:00 -05:00
Jack O'Connor
66fee0c6ef add some more description in README.md 2019-12-12 15:22:09 -05:00
Jack O'Connor
9bf1020213 make the "c_avx512" feature a no-op on non-x86
This lets us enable it by default in b3sum.
2019-12-12 15:13:04 -05:00
Jack O'Connor
b9a05913ee fix the test_vectors build 2019-12-12 14:07:58 -05:00
Jack O'Connor
7cf6b8f174 initial version of b3sum 2019-12-12 13:18:57 -05:00
Jack O'Connor
3b5664c8a5 struct OutputReader 2019-12-12 11:33:21 -05:00
Jack O'Connor
59752de9bd fix syntax errors in ci.yml 2019-12-11 23:21:25 -05:00
Jack O'Connor
6823655aed run the test vectors on cross tests (ARM, MIPS) on CI 2019-12-11 23:19:58 -05:00
Jack O'Connor
c8d21fab95 account for Windows newlines when checking for test vector changes 2019-12-11 22:41:59 -05:00
Jack O'Connor
a3be434d28 fix bench tests running in the wrong directory 2019-12-11 22:34:03 -05:00
Jack O'Connor
1a57232b49 delete an unused import 2019-12-11 22:32:53 -05:00
Jack O'Connor
dd3a72fb9f run test vectors and bench tests in the regular CI test matrix 2019-12-11 22:30:19 -05:00
Jack O'Connor
52ea6487f8 switch to representing CVs as words for the compression function
The portable implementation was getting slowed down by converting back
and forth between words and bytes.

I made the corresponding change on the C side first
(12a37be8b5),
and as part of this commit I'm re-vendoring the C code. I'm also
exposing a small FFI interface to C so that blake3_neon.c can link
against portable.rs rather than blake3_portable.c, see c_neon.rs.
2019-12-11 18:05:26 -05:00
Jack O'Connor
d68882da0d test_checked_in_vectors_up_to_date 2019-12-11 11:04:41 -05:00
Jack O'Connor
c81d5c2522 test against test_vectors.json in CI 2019-12-11 10:50:18 -05:00
Jack O'Connor
48b3fba833 check in test_vectors.json
This file is generated with:

cd ./test_vectors
cargo run --bin generate > ./test_vectors.json
2019-12-11 10:47:12 -05:00
Jack O'Connor
d183149b2e add the test_vectors sub-crate 2019-12-11 10:14:24 -05:00
Jack O'Connor
4ca4c60694 add cargo +nightly test --benches to CI 2019-12-10 14:57:46 -05:00
Jack O'Connor
cbaf350c05 typo in ci.yml 2019-12-09 22:13:48 -05:00
Jack O'Connor
8c4cd710c3 set ARMv7 NEON compiler flags automatically 2019-12-09 21:52:24 -05:00
Jack O'Connor
61b34f35b4 fix a syntax error in ci.yml 2019-12-09 21:25:36 -05:00
Jack O'Connor
399167722c add a README badge for CI 2019-12-09 21:22:33 -05:00
Jack O'Connor
98dd9cbbf1 add ci.yml 2019-12-09 21:20:04 -05:00
Jack O'Connor
0c44497290 s/subtree_stack/cv_stack/ in reference_impl.rs
This fits better with the current wording of the spec.
2019-12-08 23:31:18 -05:00
Jack O'Connor
ee0014776f silence an unreachable code warning when "c_neon" is in use 2019-12-08 21:58:32 -05:00
Jack O'Connor
ae7271cc87 add benchmarks for AVX-512 and NEON 2019-12-08 21:56:10 -05:00
Jack O'Connor
78191a676f feature comments in Cargo.toml 2019-12-08 21:56:10 -05:00
Jack O'Connor
1574b488f9 unify the platform-specific tests and test AVX-512 and NEON 2019-12-08 21:56:10 -05:00
Jack O'Connor
c7fff32392 add Rust FFI wrappers for AVX-512 and NEON 2019-12-08 21:56:10 -05:00
Jack O'Connor
d0a6e9ecb2 vendor C code from BLAKE3-c
Copied from:
b800162961
2019-12-08 21:45:49 -05:00
Jack O'Connor
0cb4f6dd2c fix a bad assert
This would fire (incorrectly) on platforms where MAX_SIMD_DEGREE=1.
2019-12-07 22:23:58 -05:00
Jack O'Connor
bcb99ba087 fix the benchmarks build 2019-12-07 22:02:19 -05:00
Jack O'Connor
c7a1f6e919 add the OffsetDeltas type alias
I'm about to add C integration for AVX-512 and NEON, and this matches
better what the C code is doing.
2019-12-07 21:55:13 -05:00
Jack O'Connor
d6fbb03d01 add reference impl benchmarks 2019-12-07 21:46:56 -05:00
Jack O'Connor
6edabea57a provide BLAKS3_FUZZ_ITERATIONS for running a longer fuzz test 2019-12-07 21:45:42 -05:00
Jack O'Connor
4b2d856754 add many_parents benchmarks 2019-12-06 17:18:39 -05:00
Jack O'Connor
19471453f5 add bench.rs 2019-12-06 16:17:30 -05:00
Jack O'Connor
912ae19bce get rid of the bitflags dependency 2019-12-06 15:32:20 -05:00
Jack O'Connor
47ef3ad01f add struct Hasher 2019-12-06 15:13:27 -05:00
Jean-Philippe Aumasson
d0b26aac11
Merge pull request #1 from veorq/jp/contributing
CONTRIBUTING.md
2019-12-05 08:45:03 +01:00
Jack O'Connor
5458066da9 add hash/keyed_hash/derive_key and tests against reference_impl.rs 2019-12-04 18:17:24 -05:00
Jack O'Connor
1ed705374d add a few tests for the arithmetic helpers 2019-12-04 16:55:57 -05:00
Jack O'Connor
a274a9b0fa add recursive subtree hashing 2019-12-04 16:53:31 -05:00
JP Aumasson
7f2ee9447b move authors to readme 2019-12-04 18:58:03 +01:00
JP Aumasson
8f2a7b0e1c contributing 2019-12-04 17:26:28 +01:00
Jack O'Connor
7736b254ce implementation notes 2019-12-03 16:23:19 -05:00
Jack O'Connor
ccdff5db59 add struct ChunkState 2019-12-03 15:50:51 -05:00
Jack O'Connor
aa6134d287 add struct Output 2019-12-03 15:23:07 -05:00