-
-
Notifications
You must be signed in to change notification settings - Fork 477
Description
This is basically forked from #850: a request to reduce the number of dependencies. This issue is opened for discussion since previously it did not have much. Also see: #667, #789.
As can be seen, this crate has several dependencies of its own, and is also the only required dependency of rand (besides getrandom, rand_core and on some platforms libc):
├── rand_chacha v0.2.1
│ ├── c2-chacha v0.2.2
│ │ ├── lazy_static v1.4.0
│ │ └── ppv-lite86 v0.2.5
│ └── rand_core v0.5.0
│ └── getrandom v0.1.11 (*)
Probable resolution: no change
We don't need to change anything.
Possible resolution: subsume dependencies
We could copy some/all dependencies up into rand_chacha. Note that currently c2-chacha has no other dependent crates, while ppv-lite86 has two (both only used by the powhasher miner, as far as I can tell).
CC @kazcw
Other resolutions
We could revert back to HC-128 which has a fast implementation without use of SIMD intrinsics.
We could revert to the old ChaCha implementation or use the chacha20 crate, however this would not be good for performance.