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