On Thu, Aug 22, 2019 at 02:28:53PM +0200, Holger Hoffstätte wrote: > On 8/22/19 1:40 PM, Johannes Thumshirn wrote: > > Now that Nikolay's XXHASH64 support for the Crypto API has landed and BTRFS > > is > > prepared for an easy addition of new checksums, this patchset implements > > XXHASH64 as a second, fast but not cryptographically secure checksum hash. > > Question from the cheap seats.. :) > > I know that crc32c-intel uses native SSE 4.2 instructions, but so far I have > been unable to find benchmarks or explanations why adding xxhash64 benefits > btrfs. All benchmarks seem to be against crc32c in *software*, not the > SSE4.2-enabled version (or I can't read). I mean, it's great that xxhash64 is > really fast for a software implementation, but how does btrfs benefit from > this > compared to using crc32-intel? > > Verifying that plugging in other hash impls works (e.g. as preparation for > stronger impls) has value, but it's probably not something most > users care about. > > Maybe there are obscure downsides to crc32c-intel like instruction latency > (def. a problem for AVX512), cache pollution..? > > Just curious.
It's not so much about the performance aspect of xxhash64 vs crc32c. xxhash64 has a lower collission proability compared to crc32c, which for instance makes it a good candidate to use for de-duplication. HTH, Johannes -- Johannes Thumshirn SUSE Labs Filesystems jthumsh...@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850