|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2024-12-03 01:05:49
James E. King III wrote:
> 2. Seems to be missing some other hashes like BLAKE, SHA3.
There's an infinite amount of hashes that can potentially be added;
since the library is (at least in principle) not about the provided hash
algorithms, but about the framework allowing user-defined objects
to be hashed by any algorithm satisfying the concept, I didn't want
to turn it into a repository of hash algorithms.
Of course, if SHA3 (f.ex.) is requested by users, we'll consider adding it.
The current selection is intended to cover all major use cases and
serve as a proof of concept that the framework is able to support them.
> 3. Do we have a checksum library with CRC32/32C/64/64NVME (the new one
> AWS S3 is using)? Do they belong here?
There's Boost.CRC.
> 4. The benchmark seems like it uses a typical time-boxed chrono
> calculation. Is there really not a canned implementation of that
> somewhere?
Maybe; nothing comes to mind at the moment.
> 5. Is the benchmark using sufficient content to avoid overwhelming
> cache optimization?
Hash functions are rarely faster than main memory, so going out of L3
isn't that important, at least at the moment. The benchmark is useful
enough for getting a quick impression how the various functions perform
relative to each other.
> 6. There's a header-only implementation of SHA1 in uuid (*iirc...),
> will we be moving to use this?
There's MD5 in UUID too (which you added.)
We can move to this, but it's not necessary. UUID has very few
dependencies (at the moment) and people like it that way, because
it's a library they often want to use without bringing in more from Boost.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk