1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[]
= "blake3"
= "0.2.2"
= ["Jack O'Connor <oconnor663@gmail.com>"]
= "the BLAKE3 hash function"
= "https://github.com/BLAKE3-team/BLAKE3"
= "CC0-1.0 OR Apache-2.0"
= "https://docs.rs/blake3"
= "README.md"
= "2018"
[]
= ["std"]
# The "c" feature includes C and assembly SIMD implementations of the
# compression function for x86 platforms, called via FFI. (Currently it has no
# effect on other platforms.) This requires a C toolchain on the build machine.
# This is necessary for AVX-512 support, which is not yet stable in Rust, and
# the assembly implementations also perform better than those using Rust/LLVM
# intrinsics. As with the Rust implementations, these C and assembly
# implementations participate in runtime CPU feature detection, and the
# resulting binary is portable.
= []
# Normally x86-64 builds prefer assembly implementations over C intrinsics. The
# assembly implementations perform better, perform most consistently across
# compilers, and are much faster to build. However, this feature makes the
# build use the C intrinsics implementations instead. This is mainly for
# testing purposes, and most callers will not want to use it.
= []
# The NEON implementation does not participate in dynamic feature detection,
# which is currently x86-only. If "c_neon" is on, NEON support is assumed. Note
# that AArch64 always supports NEON, but support on ARMv7 varies.
= []
= ["digest/std"]
[]
# Document blake3::join::RayonJoin on docs.rs.
= ["rayon"]
[]
= "0.3.5"
= { = "0.5.1", = false, = ["array-sizes-33-128"] }
= "0.1.5"
# A performance note for the "rayon" feature: Multi-threading can have
# significant overhead for small inputs, particularly on x86 where individual
# cores are very fast. On the other hand, on slower platforms like ARM,
# multi-threading can be beneficial for all inputs. There's no one input size
# threshold that would work well everywhere, and this crate doesn't try to be
# clever. If you're going to enable the "rayon" feature, you should benchmark
# it for your specific use case.
= { = "1.2.1", = true }
= "0.1.10"
= "0.8.1"
= "0.7.0"
[]
= "0.4.1"
= "0.7.2"
= "0.2.1"
= { = "./reference_impl" }
[]
= "1.0.48"